Stack3 [Java] 프로그래머스 - 택배상자 스택을 활용해 메인 벨트와 보조 벨트의 흐름을 시뮬레이션하는 문제 1. 문제 유형스택, 구현, 시뮬레이션 2. 내가 놓친 포인트처음 떠올린 접근 : 박스를 미리 메인 벨트용 / 보조 벨트용으로 분류해서 처리하려고 했다. 오답 원인: 박스를 미리 분류하는 문제가 아니라, 1번부터 n번까지 순서대로 들어오는 박스를 그때그때 현재 목표와 비교하며 처리하는 시뮬레이션 문제였다. 3. 핵심 로직 & 해결 방법핵심 조건: 보조 컨테이너 벨트는 스택처럼 동작하므로 가장 최근에 넣은 박스만 꺼낼 수 있다. 풀이 아이디어:메인 벨트에서는 1번부터 n번 박스가 순서대로 들어온다.현재 들어온 박스가 지금 실어야 하는 목표 박스라면 바로 적재한다.아니라면 보조 벨트(stack)에 넣는다.이후 보조 벨트 top이 현재 목표와 .. 2026. 4. 22. [Java] 프로그래머스 - 주식가격 각 시점의 가격이 처음으로 떨어질 때까지 걸린 시간을 구하는 문제. 1. 문제 유형스택, 배열, 구현 2. 내가 놓친 포인트처음 떠올린 접근 : 현재 가격과 바로 직전 가격만 비교하면서, 가격이 떨어지면 스택에서 하나 꺼내 처리하려고 했다. 오답 원인: 이 문제는 가격값 자체보다 각 시점(인덱스) 기준으로 답을 구해야 하는데, 처음엔 값 중심으로 생각했다. 또한 현재 가격이 들어왔을 때 이전 시점 하나만 처리하는 걸로 생각했는데 실제로는 여러 인덱스가 연속으로 답이 확정될 수 있다. 마지막까지 스택에 남아 있는 인덱스들은 끝까지 가격이 떨어지지 않은 경우라는 점도 처음엔 헷갈렸다. 3. 핵심 로직 & 해결 방법핵심 조건: 스택에는 가격이 아니라 인덱스를 저장한다. 풀이 아이디어:배열을 왼쪽부터 순회하면.. 2026. 3. 30. [Java] 프로그래머스 - 올바른 괄호 닫는 괄호가 먼저 나오지 않는지 순회 중간에도 확인해야 하는 문제 1. 문제 유형스택(Stack), 문자열, 구현 2. 내가 놓친 포인트 처음 떠올린 접근 : 여는 괄호 (는 더하고 닫는 괄호 )는 빼서 마지막 결과만 0이면 올바른 괄호라고 생각했다.오답 원인: 최종 개수보다 중간 순서가 올바른지를 먼저 봐야 했다. 예를 들어 )( 는 최종 합만 보면 0이지만 닫는 괄호가 먼저 나왔으므로 올바른 괄호가 아니다. 3. 핵심 로직 & 해결 방법핵심 조건: 짝이 없는 닫는 괄호가 먼저 나오거나, 순회를 마쳤는데도 여는 괄호가 남아있으면 실패풀이 아이디어(Stack 사용):( 이면 Stack에 push 한다.) 이면 Stack에서 pop 한다. 단, 스택이 비어있다면 즉시 false 반환문자열 끝까지 순회한 .. 2026. 3. 24. 이전 1 다음