import java.util.*; import java.util.stream.*; class Solution { public int solution(int[] scoville, int K) { PriorityQueue pq = new PriorityQueue(); for (int s : scoville) { pq.add(s); } int count = 0; while (true) { // 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우 if (pq.size() == 1 && pq.peek() = K) { return count; // 모든 음식의 스코빌 지수가 K 이상이..
전체 글
말보다는 실천하는 사람function solution(maps) { // 큐 활용 var q = [[0, 0, 1]]; while (q.length) { var [y, x, answer] = q.shift(); // 배열 범위 내 + 현 인덱스 값 체크 => 1이면 분기처리 if (y = 0 && x = 0 && maps[y][x] === 1) { // 현 인덱스 방문금지 => 0 처리 maps[y][x] = 0; // 상대방 진영 도달여부 체크 if (y === maps.length - 1 && x === maps[0].length - 1) { // 큐의 매 실행마다 각 방향별로 순회하면서 진행되고, // 가장 먼저 도달한 값에서 return 된다..
모든 배열의 값이 같은 경우를 처리하는 것이 까다로웠다. import java.util.*; class Solution { int[][] data = null; int zeroCnt = 0; int oneCnt = 0; public int[] solution(int[][] arr) { data = arr; // 모든 수가 같은 배열일 경우 체크 Boolean isOneValue = true; int standard = data[0][0]; for (int[] d : data) { for (int n : d) { if (n != standard) { isOneValue = false; } } } if (isOneValue) { if (standard == 0) { zeroCnt += 1; } else { ..