-
[프로그래머스] 크레인 인형뽑기 게임ALGORITHM/PROGRAMMERS 2020. 11. 7. 21:04
programmers.co.kr/learn/courses/30/lessons/64061?language=java
2020-11-07
import java.util.ArrayList; class Solution { public static int cpboard[][], cpmove[], blen, count; public static ArrayList<Integer> list; public static void search(int x) { for(int i = 0; i < blen; i++) { if(cpboard[i][x] > 0) { list.add(cpboard[i][x]); cpboard[i][x] = 0; break; } } } public static void checkRemove() { for(int i = 1; i < list.size(); i++) { if(list.get(i) == list.get(i-1)) { list.remove(i); list.remove(i-1); count+=2; } } } public int solution(int[][] board, int[] moves) { cpboard = board; cpmove = moves; count = 0; list = new ArrayList<Integer>(); blen = board[0].length; for(int i = 0; i < moves.length; i++) { search(moves[i]-1); checkRemove(); } return count; } }
1. moves 배열에 받은 입력값대로 배열의 줄을 탐색하면서, 가장 윗줄에 있는 값을 arraylist에 넣고 원래 배열 값을 0으로 바꾼다.
2. 바구니에 값이 있다면, 현재 값과 그 전 값을 비교하여 같은 경우 둘 다 제거하고 +2 카운트를 한다.
'ALGORITHM > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] 구명보트 (0) 2020.11.23 [프로그래머스] 정수 내림차순으로 배치하기 (0) 2020.11.15 [프로그래머스] 같은 숫자는 싫어 (0) 2020.11.15 [프로그래머스] 스킬트리 (0) 2020.11.11 [프로그래머스] 두 개 뽑아서 더하기 (0) 2020.11.06