728x90
반응형
문제 : 크레인 인형뽑기 게임
풀이 방법
스택은 넣은 순서 반대로 꺼내는 특징이 있기 때문에 쓰면 크레인으로 집은 인형들을 관리하기 쉬울 것 같아서 스택을 써봤는데 그냥 벡터로 했어도 문제 없었을 것 같다.
크레인으로 뽑은 인형의 자리는 0으로 채우기만 한다면 가볍게 풀 수 있는 문제이다.
소스 코드
#include <string>
#include <vector>
#include <stack>
using namespace std;
int solution(vector<vector<int>> board, vector<int> moves) {
int answer = 0;
stack<int> s;
for(int & i : moves) {
for(vector<int> & u : board) {
if(u[i-1] != 0) {
if(s.empty() || s.top() != u[i-1]) {
s.push(u[i-1]);
}
else {
s.pop();
answer+=2;
}
u[i-1] = 0;
break;
}
}
}
return answer;
}
728x90
반응형
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 Level 1, C++] 신고 결과 받기 (0) | 2022.07.09 |
---|---|
[프로그래머스 Level 1, C++] 키패드 누르기 (0) | 2022.07.08 |
[프로그래머스 Level 1, C++] 실패율 (0) | 2022.07.07 |
[프로그래머스 Level 1, C++] [1차] 다트 게임 (0) | 2022.07.06 |
[프로그래머스 Level 1, C++] 로또의 최고 순위와 최저 순위 (0) | 2022.07.06 |