250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 c++ KAKAO) 1단계- 크레인 인형뽑기 본문
728x90
반응형
스택을 이용해서 푸는 문제.
이중 for문을 이용하여 0이 아닌 값을 board에서 찾아낸 후 스택에 push.
만약 스택의 top과 board[j][moves[i] - 1]의 값과 같다면 같은 인형이니 answer += 2를 한 후,
스택을 pop 해준다.
#include <string>
#include <stack>
#include <vector>
#include <iostream>
using namespace std;
int solution(vector<vector> board, vector moves) {
int answer = 0;
int size = board[moves[0] - 1].size();
stack stk;
for(int i = 0; i < moves.size(); i++)
{
for(int j = 0; j < size; j++)
{
if(board[j][moves[i] - 1] != 0)
{
int tmp = board[j][moves[i] - 1];
if(stk.empty() || stk.top() != tmp)
stk.push(tmp);
else if(tmp == stk.top())
{
answer += 2;
stk.pop();
}
board[j][moves[i] - 1] = 0;
break;
}
}
}
return answer;
}
728x90
반응형
'프로그래머스 알고리즘 > KAKAO' 카테고리의 다른 글
(프로그래머스 c++ KAKAO)카카오 프렌즈 컬러링북 (3) | 2020.05.08 |
---|---|
(프로그래머스 c++ KAKAO)문자열 압축 (0) | 2020.05.06 |
(프로그래머스 c++ KAKAO)다트 게임 (0) | 2020.05.01 |
(프로그래머스 c++ KAKAO)실패율 (0) | 2020.04.30 |
(프로그래머스 c++ KAKAO)[1차]비밀지도 (0) | 2020.04.30 |