아무코딩

[2019 카카오 개발자 겨울 인턴십 코딩테스트] 문제1. 크레인 인형뽑기 게임 본문

알고리즘/프로그래머스

[2019 카카오 개발자 겨울 인턴십 코딩테스트] 문제1. 크레인 인형뽑기 게임

동 코 2020. 4. 3. 17:53

문제풀이

 

출제의도는 스택 같으나 성질이 비슷한 vector를 이용하였습니다.

 

소스코드

더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <string>
#include <vector>
 
using namespace std;
 
vector<vector<int>> box;
vector<int> basket;
int cnt = 0;
 
 
void moveCrain(int idx) {
    if (box[idx].size() > 0) {
        basket.push_back(box[idx][box[idx].size() - 1]);
        box[idx].pop_back();
    }
    else
        return;
    if (basket.size() >= 2) {
        if (basket[basket.size() - 1== basket[basket.size() - 2]) {
            basket.pop_back();
            basket.pop_back();
            cnt = cnt + 2;
        }
    }
}
 
int solution(vector<vector<int>> board, vector<int> moves) {
    int row_size = board[0].size();
    int col_size = board.size();
    box.assign(row_size, vector <int>(00));
    for (int i = 0; i < row_size; i++) {
        for (int j = col_size-1; j >= 0; j--) {
            if (board[j][i] == 0) {
                break;
            }
            else {
                box[i].push_back(board[j][i]);
            }
        }
    }
    for (int i = 0; i < moves.size(); i++) {
        moveCrain(moves[i] - 1);
    }
    return cnt;
}
 
 
 

 

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/64061

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

Comments