2019 카카오 인턴 코테 문제
5시간을 잡고 실전처럼 진행하였으며 코드의 최적화나 알고리즘은 정확하지 않음.
코딩테스트 연습 - 크레인 인형뽑기 게임 | 프로그래머스 (programmers.co.kr)
코딩테스트 연습 - 크레인 인형뽑기 게임
[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4
programmers.co.kr
1번 문제였으며 쉬운문제였다. 약 20분정도 소요되었다.
moves의 순서대로 반복문을 돌리면 된다.
stack의 형태로 생각하여 구현하면 어렵지 않다.
뽑힌 인형과 뽑힐인형을 나눠 뽑힐인형을 뽑은 후, stack에 있는 뽑힌인형의 마지막을 확인한 후, 같다면 stack에서 pop하면 된다,
pop될때, 인형은 2개씩 사라지므로, 답을 2씩 증가시켜주면 된다.
#include <string>
#include <vector>
using namespace std;
int solution(vector<vector<int>> board, vector<int> moves) {
int answer = 0;
vector<int> temp;
for (int i = 0; i < moves.size(); i++)
{
int ind = moves[i] - 1;
for(int j = 0; j < board.size(); j++)
if (board[j][ind])
{
if (temp.empty())
temp.push_back(board[j][ind]);
else
{
if (temp[temp.size() - 1] == board[j][ind])
{
answer += 2;
temp.pop_back();
}
else
temp.push_back(board[j][ind]);
}
board[j][ind] = 0;
break;
}
}
return answer;
}
'Coding_Test > 2019_KAKAO_INTERN' 카테고리의 다른 글
[2019 카카오 인턴] 호텔 방 배정 (C++) (0) | 2022.05.09 |
---|---|
[2019 카카오 인턴] 불량 사용자 (C++) (0) | 2022.05.09 |
[2019 카카오 인턴] 튜플 (C++) (0) | 2022.05.09 |