반응형
https://programmers.co.kr/learn/courses/30/lessons/64061
#include <string>
#include <vector>
#include <stack>
using namespace std;
int solution(vector<vector<int>> board, vector<int> moves) {
int answer=0;
int boardSize=board.size();
stack<int> st;
for(int mi=0;mi<moves.size();mi++) {
int row=moves[mi]-1;
for(int bi=0;bi<boardSize;bi++) {
if(board[bi][row]>0) {
if(!st.empty() && st.top()==board[bi][row]) {
st.pop();
answer+=2;
} else {
st.push(board[bi][row]);
}
board[bi][row]=0;
break;
}
}
}
return answer;
}
특별한 알고리즘이 필요없는 시뮬레이션 문제다.
moves[]순서대로 인형뽑기를 하여 인형을 터트리면 된다.
이런 문제의 경우 바로 코드를 작성하기 보다는
예외처리할만한 사항들을 잘 정리해두고 시작해야
사소한 실수를 줄일 수 있다.
반응형
'개발 > 알고리즘 & 자료구조' 카테고리의 다른 글
[2020 카카오 인턴쉽][알고리즘][프로그래머스] 키패드 누르기 (2) | 2021.08.23 |
---|---|
[코딩테스트][카카오] 2021 KAKAO BLIND RECRUITMENT - 신규 아이디 추천 (0) | 2021.08.21 |
[프로그래머스][위클리] 2주차 (6) | 2021.08.12 |
[프로그래머스][SQL] 고양이와 개는 몇 마리 있을까 (3) | 2021.08.11 |
[2017 카카오 코드 예선] 카카오 프렌즈 컬러링북 (15) | 2021.08.10 |