티스토리 뷰
import java.util.Stack;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
Stack<Integer> basket = new Stack<Integer>();
for (int move : moves) {
for (int i = 0; i < board.length; i++) {
if (board[i][move-1] != 0) {
if (basket.isEmpty() || basket.peek() != board[i][move-1]) {
basket.push(board[i][move-1]);
} else if (basket.peek() == board[i][move-1]) {
basket.pop();
answer += 2;
}
board[i][move-1] = 0;
break;
}
}
}
return answer;
}
}
- 성공
- 인형을 담는 방식을 보고 스택을 사용해야겠다고 생각
- 인형뽑기 기계에서 0이 아닌 수를 위에서부터 찾기 (크레인이 위에서 부터 인형을 뽑아가니까)
- 바구니가 비어있거나 바구니의 제일 위에 있는값이 방금 뽑은 인형과 같지 않다면 바구니에 넣기
- 만약에 바구니의 맨 위에 있는 값이 뽑은 인형값과 같다면 바구니에서 인형을 꺼내고 정답에 +2
- 기계에서 인형을 꺼냇으면 0으로 만들어주고 인형을 계속 꺼낼 수도 있으니 break;
'PS > programmers' 카테고리의 다른 글
Level1) 제일 작은 수 제거하기 (0) | 2020.09.12 |
---|---|
Level1) 이상한 문자 만들기 (0) | 2020.09.11 |
Level1) 정수 내림차순으로 배치하기 (0) | 2020.09.11 |
Level1) 핸드폰 번호 가리기 (0) | 2020.09.11 |
Level1) 자연수 뒤집어 배열로 만들기 (0) | 2020.09.11 |
링크
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- js promise
- 킹수빈닷컴
- GCP
- 모던자바스크립트
- 김영한 JPA
- 이펙티브자바 스터디
- 이펙티브자바 아이템59
- 패스트캠퍼스 컴퓨터공학 완주반
- 이펙티브자바
- ㅇㄷㅇㅈ
- 김영한 http
- 이펙티브자바 아이템60
- BOJ
- REST API
- java
- JPA 연관관계 매핑
- js array
- JS 딥다이브
- 백준
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- dreamcoding
- 드림코딩
- js api
- 백기선 스터디
- HTTP 완벽가이드
- http
- HTTP 완벽 가이드
- 프로그래머스
- 프로그래머스 SQL
- Spring Security
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함