전체 글 23

[프로그래머스] 43165번: 타겟 넘버(Java)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/431651. 문제 분석주어진 숫자 배열의 숫자들을 순서를 유지하면서 더하거나 빼서 target 값을 만드는 방법의 개수를 구하는 문제다.모든 경우의 수를 탐색해야 하므로 DFS/BFS를 활용한다. 2. 적용할 알고리즘➡️➡️ DFS (깊이 우선 탐색)- numbers의 길이가 최대 20이므로 DFS로 충분히 해결 가능 3. 핵심 개념 및 규칙1️⃣ 각 숫자에 대해 + 또는 - 연산을 수행하여 탐색을 진행2️⃣ 모든 숫자를 탐색한 후 sum == target이면 1을 반환3️⃣ 두 가지 경우(더하는 경우, 빼는 경우)를 모두 고려하여 경우의 수를 합산4️⃣ 재귀 호출을 통해 모든 경우를 탐색 ..

알고리즘 2025.03.20

[프로그래머스] 택배상자(Java)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/1317041. 문제 분석이 문제는 컨베이어 벨트에서 오는 상자들을 택배 기사님이 원하는 순서대로 실어야 하는 문제이다.하지만, 컨베이어 벨트에서 오는 순서와 기사님이 원하는 순서가 다를 수 있으므로,보조 컨테이너 벨트(Stack) 를 사용하여 후입선출(LIFO) 방식으로 상자를 관리해야 한다.- 컨베이어 벨트에서 오는 순서: 1, 2, 3, 4, 5...- 트럭에 실어야 하는 순서: 문제의 order 배열에 주어짐- 보조 컨테이너 벨트(Stack)에 잠시 보관 가능(LIFO) 2. 적용할 알고리즘스택(Stack) → 보조 컨테이너 벨트 역할 3. 핵심 개념 및 규칙1️⃣ 컨베이어 벨트에서 오..

알고리즘 2025.03.18

[프로그래머스] 주차 요금 계산(Java)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/92341  1. 문제 분석이 문제는 입출차 기록을 바탕으로 차량별 총 주차 시간을 계산하고, 주차 요금을 부과하는 문제이다.주어진 입출차 기록에서 출차 기록이 없는 차량은 23:59에 강제 출차 처리를 해야 한다.1️⃣ 입출차 기록을 저장2️⃣ 출차 기록이 없는 차량을 23:59에 출차 처리3️⃣ 차량별 총 주차 시간을 바탕으로 요금 계산4️⃣ 차량 번호 오름차순으로 정렬하여 결과 반환 2. 적용할 알고리즘✅ 해시맵 → 입출차 기록 저장✅ 트리맵 → 차량 번호 기준 오름차순 정렬 3. 핵심 개념 및 규칙1️⃣ 입출차 기록 저장2️⃣ 출차 기록이 없는 차량을 23:59에 강제 출차 처리: 기존..

알고리즘 2025.03.17