-
프로그래머스 - 크레인 인형알고리즘 2024. 5. 7. 21:15
import java.util.*; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; Stack<Integer> stack = new Stack<>(); for(int i = 0; i < moves.length; i++) { int crane = moves[i] - 1; // 집게 위치 // 위에서부터 내려오는 것 for(int j = 0; j < board.length; j++) { if(board[j][crane] != 0) { if(stack.size() > 0 && stack.peek() == board[j][crane]) { stack.pop(); answer += 2; } else { stack.push(board[j][crane]); } board[j][crane] = 0; break; } } } return answer; } }
스택을 이용하는 문제였습니다.
집게의 현재 위치를 입력받고 인형이 있다면 stack에 넣기 전 같은지 확인하면 되는 문제입니다.
'알고리즘' 카테고리의 다른 글
프로그래머스 - 대충 만든 자판 (0) 2024.05.07 프로그래머스 - 둘만의 암호 (0) 2024.05.07 프로그래머스 - 숫자 짝꿍 (1) 2024.05.06 프로그래머스 - 완주하지 못한 선수 (0) 2024.05.02 프로그래머스 - 로또의 최고 순위와 최저 순위 (0) 2024.05.02