[Programmers] : 크레인 인형 뽑기 - Java
- 💾 알고리즘/프로그래머스
- 2021. 12. 30. 15:32
🔗 문제
https://programmers.co.kr/learn/courses/30/lessons/64061
코딩테스트 연습 - 크레인 인형뽑기 게임
[[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
💻 코드
package org.kyhslam.programmers;
import java.util.Stack;
public class day_1229_01 {
public static void main(String[] args) {
int[][] board = {
{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}
};
int move[] = {1, 5, 3, 5, 1, 2, 1, 4};
//System.out.println(board.length);
solution(board, move);
}
public static int solution(int[][] board, int[] moves) {
int answer = 0;
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < moves.length; i++) {
int index = moves[i];
System.out.println("index == " + index);
int rowSize = board.length;
for (int a = 0; a < rowSize; a++) {
if (board[a][index - 1] != 0) {
int curValue = board[a][index - 1]; // 현재값 꺼내고
board[a][index - 1] = 0; //꺼낸 위치 0으로 초기화
if (stack.size() != 0) {
int beforeValue = stack.peek();
//만약에 같으면 두개 지워준다
if (curValue == beforeValue) {
stack.pop();
answer += 2; //개수 2개 증가
} else {
stack.push(curValue);
}
} else {
stack.push(curValue);
}
break;
}
}
System.out.println("stack = " + stack);
}
System.out.println("answer = " + answer);
return answer;
}
}
'💾 알고리즘 > 프로그래머스' 카테고리의 다른 글
[Programmers] : 체육복 - Python (0) | 2022.01.25 |
---|---|
[Programmers] : 완전탐색 > 모의고사 (0) | 2022.01.20 |
[Programmers] : 음양 더하기- Java (0) | 2021.12.29 |
[Programmers] : 실패율 - Java (0) | 2021.12.17 |
[Programmers] : 없는 숫자 더하기 > Java (0) | 2021.12.14 |