https://school.programmers.co.kr/learn/courses/30/lessons/131704
이번 문제는 스택(stack) 문제였습니다.
📝 문제 풀이
1. 1번 상자부터 내릴 수 있으므로 for 문 1부터 순회
2. 스택 top과 현재 상자 번호가 같으면 상자를 내리고 (pop) answer++
📍 택배 기사님이 원하는 순서대로 상자를 담아야 하므로 현재 상자를 가리키는 인덱스는 answer
👩🏻💻 C++ 코드
#include <string>
#include <vector>
#include <stack>
using namespace std;
int solution(vector<int> order) {
int answer = 0;
stack<int> s;
for (int i=1; i<=order.size(); i++) {
s.push(i);
while (!s.empty() && s.top() == order[answer]) {
s.pop();
answer++;
}
}
return answer;
}
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 실패율 C++ (Lv.1) (1) | 2023.04.20 |
---|---|
[프로그래머스] 더 맵게 C++ (Lv.2) (0) | 2023.04.20 |
[프로그래머스] 징검다리 건너기 C++ (Lv.3) (0) | 2023.04.19 |
[프로그래머스] 풍선 터트리기 C++ (Lv.3) (0) | 2023.04.19 |
[프로그래머스] 구명보트 C++ (Lv.2) (0) | 2023.04.18 |