반응형
https://programmers.co.kr/learn/courses/30/lessons/64061
글쓴이의 답
개인적인 풀이 임으로
이것보다 더 좋은 알고리즘은 많음...
이렇게도 풀이하는구나.. 공유하기 위해 올림...
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int crane(vector<vector<int>>& board, int target){
int result =0;
for(int i=0; i < board[target].size(); i++){
if (0 != board[i][target]) {
result = board[i][target];
board[i][target] = 0;
break;
}
}
return result;
}
int solution(vector<vector<int>> board, vector<int> moves) {
int answer = 0;
vector<int> stack;
for (int i= 0; i < moves.size(); i++){
int target = moves[i];
int findNum = crane(board, target-1);
if (0 != findNum){
bool sameCheck = false;
if (0 != stack.size()){
int temp = stack[stack.size()-1];
if(findNum == temp){
sameCheck = true;
}
}
if (false == sameCheck){
stack.push_back(findNum);
}
else{
answer += 2;
stack.pop_back();
}
}
}
return answer;
}
꾸준히 하다보면 실력이 늘겠지.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스][GO] 음양 더하기 (0) | 2022.03.15 |
---|---|
[프로그래머스][C++] 없는 숫자 더하기 (0) | 2022.03.15 |
[프로그래머스][C++] 키패드 누루기 (0) | 2022.03.15 |
[프로그래머스][C++] 숫자 문자열과 영단어 (0) | 2022.03.15 |
[프로그래머스][Python3] 신규 아이디 추천 (0) | 2022.03.15 |