조앤의 기술블로그
[프로그래머스 / 카카오] (틀림)크레인 인형뽑기 게임 본문
[문제접근]
스택을 이용해야겠다고 생각했다.
스택을 차례대로 어떻게 구현하면 좋을까 생각하다가 해시맵을 이용해서 구현해보기로 했다.
(근데 너무 어렵게 접근한거 같기도..?)
[1차코드] - 실패
import java.util.*;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
Map<Integer, Stack<Integer>> box = new HashMap<>();
for(int i = 0; i < board.length; i++) {
Stack<Integer> stack = new Stack<>();
for(int j = 0; j < board[i].length; j++) {
stack.add(board[i][j]);
}
box.put(i+1, stack);
}
Stack<Integer> newBox = new Stack<>();
for(int m : moves){
int tmp = box.get(m).pop();
//System.out.println(tmp);
if(tmp == 0) continue;
if(!newBox.isEmpty()){
if(newBox.peek() == tmp){
newBox.pop();
answer += 2;
}else
newBox.add(tmp);
}else{
newBox.add(tmp);
}
}
return answer;
}
}
[문제점]
알고리즘에 어떤 문제가 있는건지 모르겠다 ㅠㅠ...
뭐가 틀린걸까...
'Programming > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 길 찾기 게임 (java) (0) | 2020.04.24 |
---|---|
[프로그래머스 / 카카오] (틀림)호텔 방 배정 (0) | 2020.04.04 |
[프로그래머스 / 힙] 이중우선순위큐 (java) (0) | 2020.04.02 |
[프로그래머스 / 힙] 디스크 컨트롤러 (java) (0) | 2020.04.02 |
[프로그래머스 / SQL] String, Date (mysql) (0) | 2020.04.01 |