티스토리 뷰
- 코드 구현
import java.util.Stack;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
Stack<Integer> stack = new Stack<Integer>();
for (int move : moves) {
for (int j = 0; j < board.length; j++) {
/*
* 칸에 인형이 존재하는 경우(!=0)
* 다음 행(아래로)으로 이동함 [0][0], [1][0], [2][0]
*
* move배열 원소 값을 board 2차원배열의 열 값에 넣어 비교(board[j][move-1])하며
* 배열 인덱스는 0부터 시작이니까 -1
* */
if (board[j][move - 1] != 0) {
// 스택이 비어있으면 해당 칸의 숫자(==인형)를 넣기 push
if (stack.isEmpty()) {
stack.push(board[j][move - 1]);
// 스택이 비어있지않다면(==인형이 들어있다면)
} else {
// 들어있는 인형과 새로 뽑은 인형 값이 동일하면 pop 제거하고 ansewer +2
if (stack.peek() == board[j][move - 1]) {
stack.pop();
answer += 2;
// 동일하지 않다면 바구니(move)에 인형 넣기 push
} else {
stack.push(board[j][move - 1]);
} // if-else
} // if-else
// 인형을 넣었으니까 해당 칸의 값 0으로 만들기
board[j][move - 1] = 0;
break;
} // if
} // for
} // for
System.out.println(answer);
return answer;
}
}
- 채점결과
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
프로그래머스 lv2 - 기능개발 (prize) (0) | 2022.01.05 |
---|---|
프로그래머스lv2 - 오픈채팅방(prize) (0) | 2022.01.05 |
프로그래머스 - 음양 더하기 (상준) (0) | 2022.01.04 |
프로그래머스 - Lv.1 없는 숫자 더하기 (상준) (2) | 2022.01.02 |
프로그래머스 - 크레인 인형뽑기 게임 (상준) (0) | 2022.01.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 10진수
- 인형뽑기
- java
- 프로그래머스
- solved.ac
- 자료표현
- 크레인 인형뽑기 게임
- 구현
- 카카오 코딩테스트
- 프로그래머스 # 음양더하기
- 1063
- 백준
- 자료구조
- Git
- 킹
- stack
- 2019 카카오 개발자 겨울 인턴십
- 오
- ASCII코드
- 2진수
- 브루트포스
- K번째수
- 알고리즘
- 코딩테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함