Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 알고리즘
- HashMap
- fragment identifier
- 영문자 확인
- 조합
- Java
- dfs
- HashSet
- 메뉴리뉴얼
- 에라토스테네스의 체
- 동적계획법
- 문자열
- 점프와 순간이동
- 프로그래머스
- 쿼드압축 후 개수세기
- 반복문
- 규칙찾기
- pandas
- Dynamic Programming
- 보이어무어
- 후위 표기법
- 튜플
- 완전탐색
- 어려웠던 문제
- python
- Stack
- 2017 카카오 코드
- 최소공배수
- 순열
- 완전 탐색
Archives
- Today
- Total
csmoon1010의 SW 블로그
[200507] 크레인 인형뽑기 게임 - 2019카카오인턴(level1) 본문
소마 2차 코딩테스트를 탈락하고 거의 2주동안은 탈락으로 인한 우울함과 연휴로 코딩연습을 쉬었다...
다시 정신을 차리고 프로그래머스 코딩테스트를 우선 level별로 풀어볼 예정이다.
1. 문제이해
- board 배열의 위에서부터 인형을 꺼냄
- moves배열의 앞에서부터 기준 열을 정함
- 꺼낸 인형을 스택에 넣으면서 peek에 같은 인형이 있는 경우는 꺼내기
2. 전략
- 각 board의 top위치를 topList 배열에 저장
- target = board[top][moves의 숫자]에 해당하는 위치의 인형
- basket 스택이 비어있지 않음 : target과 peek이 같으면 pop한 후 answer에 +2
- peek과 같지 않거나 스택이 비어있음 : push
3. 참고사항
**Stack의 peek, pop을 적극 활용
4. 코드
import java.util.*;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
int target = 0;
Stack<Integer> basket = new Stack<>();
int[] topList = new int[board.length];
for(int i = 0; i < board.length; i++){
for(int j = 0; j < board.length; j++){
if(board[j][i] != 0){
topList[i] = j;
break;
}
}
}
for(int i = 0; i < moves.length; i++){
int column = moves[i]-1;
int top = topList[column];
if(top >= board.length) continue;
else{
target = board[top][column];
board[top][column] = 0;
topList[column]++;
if(!basket.isEmpty()){
int peek = basket.peek();
if(peek == target){
basket.pop();
answer += 2;
}
else basket.push(target);
}
else basket.push(target);
}
}
return answer;
}
}
'Coding Test > 프로그래머스' 카테고리의 다른 글
[200507] 가운데 글자 가져오기 - 연습문제(level1) (0) | 2020.05.07 |
---|---|
[200507] 2016년 - 연습문제(level1) (0) | 2020.05.07 |
[200425] 깊이/너비우선탐색(DFS, BFS) - 단어변환(level3) (0) | 2020.04.25 |
[200425] 그래프 - 가장 먼 노드(level3) (0) | 2020.04.25 |
[200424] 이분탐색(Binary Search) - 예산(level3) (0) | 2020.04.24 |
Comments