반응형 전체 글508 [Programmers] Lv.1 | 크레인 인형뽑기 게임 풀이 | Java 스택 시뮬레이션 완전 정리https://school.programmers.co.kr/learn/courses/30/lessons/640611. 문제 설명대표적인 시뮬레이션 + 스택 문제게임 규칙 자체는 단순특정 열에서 가장 위 인형 선택바구니에 넣기같은 인형 연속 시 제거하지만 실제 구현에서는 아래 실수가 자주 발생인덱스 처리 실수이미 뽑은 인형 재사용스택 비교 처리 누락break 위치 실수특히 중요한 부분은 board 의미 이해많은 사람이 처음에 헷갈리는 부분board 는 단순 입력값이 아니라 현재 게임판 상태 자체를 의미즉 인형을 뽑으면 반드시 board 값도 변경해야 함2. 핵심 아이디어핵심은 두 가지현재 열에서 가장 위 인형 찾기바구니 마지막 인형과 비교하기바구니는 가장 마지막에 들어간 인형만 확.. 2026. 5. 18. [Programmers] Lv.1 | 키패드 누르기 | Java 키패드 누르기 풀이 | 맨해튼 거리 완전 정리https://school.programmers.co.kr/learn/courses/30/lessons/672561. 문제 설명스마트폰 키패드에서 숫자를 입력할 때왼손과 오른손 중 어떤 손을 사용할지 판단하는 문제조건은 다음과 같음1 4 7 은 무조건 왼손 사용3 6 9 는 무조건 오른손 사용2 5 8 0 은 현재 손 위치 기준 더 가까운 손 사용거리가 같으면 주 손잡이 사용단순 구현처럼 보이지만현재 손 위치가 계속 변경되기 때문에상태 관리가 핵심인 시뮬레이션 문제2. 핵심 아이디어이 문제 핵심은 키패드를 좌표처럼 관리하는 방식키패드를 아래처럼 좌표로 변환 가능1 -> (0,0)2 -> (0,1)3 -> (0,2)4 -> (1,0)5 -> (1,1)6 -> (.. 2026. 5. 13. [Programmers] Lv.1 | 두 개 뽑아서 더하기 | Java 두 개 뽑아서 더하기 | boolean 배열 최적화 방법https://school.programmers.co.kr/learn/courses/30/lessons/68644 1. 문제 설명정수 배열에서 서로 다른 인덱스의 숫자 2개를 선택하여 만들 수 있는 합을 구하는 문제중복된 값은 제거해야 하며 결과는 오름차순 정렬 필요 예시[2,1,3,4,1]가능한 합234567최종 결과[2,3,4,5,6,7]핵심 포인트 2가지중복 제거 필요오름차순 정렬 필요2. 핵심 아이디어배열 길이는 최대 100즉 2중 반복문 사용 가능 최대 조합 수약 4950번 연산 수준충분히 안전한 완전탐색 가능 그런데 더 중요한 조건 존재numbers 원소 최대값 = 100즉 두 수의 최대 합은100 + 100 = 200가능한 합 범위가 매.. 2026. 5. 12. [Programmers] Lv.1 | 3진법 뒤집기 | Java 3진법 뒤집기 풀이 | 시간복잡도 O(logN) 최적화 방법https://school.programmers.co.kr/learn/courses/30/lessons/689351. 문제 설명자연수 n이 주어짐해야 하는 작업은 총 3단계n을 3진법으로 변환숫자를 뒤집기다시 10진수로 변환예시45→ 1200(3진수)→ 0021(뒤집기)→ 7(10진수)단순 문자열 문제처럼 보이지만 실제로는 "진법 변환 원리" 이해가 핵심인 문제2. 핵심 아이디어이 문제는 문자열로 풀 수 있음하지만 더 빠른 방법 존재 핵심 포인트3으로 나눈 나머지 순서=이미 뒤집힌 3진수 순서StringBuilder 생성reverse 수행문자열 파싱등의 과정 필요 없이, 바로 10진수 계산 가능3. 풀이 방법 비교방법 1. 문자열 기반 풀이흐름3.. 2026. 5. 11. [Programmers] Lv.1 | 내적 | Java 내적 문제 풀이 | 시간복잡도 O(N) 최적화https://school.programmers.co.kr/learn/courses/30/lessons/70128 1 문제 설명길이가 같은 두 정수 배열이 주어지는 문제같은 인덱스끼리 곱한 값을 모두 더하면 되는 구조예시a = [1,2,3,4]b = [-3,-1,0,2]계산1 * -32 * -13 * 04 * 2결과 = 3핵심은 배열을 한 번만 순회하면서 곱셈과 누적합 처리 진행 방식2 핵심 아이디어내적은 결국 아래 공식 형태a[i] * b[i] 를 모두 더한 값즉 배열 전체를 한 번 순회하면 해결 가능추가 자료구조도 필요 없음3 풀이 방법 비교완전탐색 방식배열을 순회하며 같은 인덱스끼리 곱해서 누적합 계산 방식시간복잡도O(N)공간복잡도O(1)불필요한 방식St.. 2026. 5. 7. [Programmers] Lv.1 | 신규 아이디 추천 | Java 신규 아이디 추천 문제 최적 풀이 (카카오)https://school.programmers.co.kr/learn/courses/30/lessons/724101. 문제 설명카카오 신규 유저가 입력한 아이디를 규칙에 맞게 자동 변환하는 문제총 7단계 규칙을 순서대로 적용해야 함핵심 조건:길이: 3자 이상 15자 이하허용 문자: 소문자, 숫자, - _ ..은 처음/끝 불가, 연속 불가단순 구현 문제처럼 보이지만문자열 처리 + 조건 분기 정확성 + 성능 고려가 핵심인 문제2. 핵심 아이디어이 문제는 "문자열 정제 파이프라인" 구조핵심 전략:여러 단계를 한 번의 순회로 최대한 처리불필요한 문자열 생성 제거조건을 사후 처리보다 사전 차단으로 설계특히 중요한 포인트:. 처리 (연속, 시작, 끝)길이 조건 처리 타이밍.. 2026. 5. 6. [Programmers] Lv.1 | 음양 더하기 | Java 절댓값과 부호를 이용한 실제 합 구하기 (시간복잡도 O(N))https://school.programmers.co.kr/learn/courses/30/lessons/765011. 문제 설명정수의 절댓값이 담긴 배열 absolutes와각 정수의 부호 정보가 담긴 signs 배열이 주어지는 문제signs[i] == true → 양수signs[i] == false → 음수실제 정수 값을 복원한 뒤, 전체 합을 구하는 문제2. 핵심 아이디어절댓값 + 부호 → 실제 값 복원 구조즉, 아래 방식으로 처리양수 → 그대로 더하기음수 → 빼기결국 "조건에 따라 더하거나 빼는 누적 합" 문제3. 풀이 방법 비교1) 새로운 배열 생성 후 합 계산절댓값 + 부호로 새로운 배열 생성이후 전체 합 계산불필요한 메모리 사용 발생2.. 2026. 5. 5. [Programmers] Lv.1 | 로또의 최고 순위와 최저 순위 | Java 로또 최고/최저 순위 구하기(시간복잡도 최적화)https://school.programmers.co.kr/learn/courses/30/lessons/77484 1. 문제 설명로또 번호 6개 중 일부가 0으로 가려진 상태0은 어떤 숫자든 될 수 있는 "와일드카드" 개념당첨 번호와 비교했을 때최고 순위 (가장 잘 맞는 경우)최저 순위 (가장 못 맞는 경우)두 값을 구하는 문제 2. 핵심 아이디어핵심은 딱 2개 값확정으로 맞은 개수0(알 수 없는 개수)이걸로 끝나는 문제다. 왜냐하면최고 순위 → 0을 전부 맞는 번호로 채운 경우최저 순위 → 0을 전부 틀린 번호로 채운 경우즉,최고 = (맞은 개수 + 0 개수)최저 = (맞은 개수)이걸 순위로 변환하면 끝 3. 풀이 방법 비교1) 완전탐색 (비추천)0을 모든.. 2026. 5. 4. [Programmers] Lv.1 | 약수의 개수와 덧셈 | Java https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 설명left부터 right까지 모든 정수 탐색각 숫자 기준약수 개수 짝수 → 더하기약수 개수 홀수 → 빼기최종 합 반환 문제 2. 핵심 아이디어약수 개수 직접 구하는 방식 비효율핵심 포인트: 완전제곱수만 약수 개수 홀수이유: 약수는 기본적으로 쌍 구조예1 × 162 × 84 × 4여기서 4는 자기 자신과 짝→ 하나만 카운트결론완전제곱수 → 빼기나머지 → 더하기 3. 풀이 방법 비교1) 모든 약수 직접 계산각 숫자마다 1부터 나눗셈시간복잡도.. 2026. 4. 28. 이전 1 2 3 4 ··· 57 다음 반응형