본문 바로가기

Problem Solving/프로그래머스

크레인 인형뽑기

#include <string>
#include <vector>

using namespace std;

int solution(vector<vector<int>> board, vector<int> moves) {
   vector<int> ans;
   int answer = 0;
   int mv =0;
   int j=0;
   int k = 0;

   for (int i = 0; i < moves.size(); ++i) {
      mv = moves[i] - 1;
      j = 0;
      while (j < board.size()) {
         if (board[j][mv] == 0) j++;
         else {
            ans.push_back(board[j][mv]);
            board[j][mv] = 0;
            break;
         }
      }
      
      if (ans.size() > 1) {
         while (k+1 < ans.size()) {

            if (ans[k] == ans[k + 1]) {
               ans.erase(ans.begin() + k);
               ans.erase(ans.begin() + k);
               k = 0;
               answer += 2;
            }
            else ++k;
         }
      }
   }

   return answer;
}

'Problem Solving > 프로그래머스' 카테고리의 다른 글

[프로그래머스/C++] K번째수  (0) 2022.01.16
[프로그래머스/C++] 2016년  (0) 2022.01.16
구명보트  (0) 2022.01.16
실패율  (0) 2022.01.16
문자열 다루기 기본  (0) 2022.01.16