목록코테/프로그래머스 (27)
우당탕탕 개발일지

문제 1. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값 2. N시간 동안 야근 피로도를 최소화하도록 일할 것. 3. 1시간 동안 작업량 1만큼을 처리 가능 퇴근까지 남은 N 시간과 각 일에 대한 작업량 works에 대해 최소 야근 피로도 구하기 입출력 예 풀이 많은 풀이들을 살펴보았다. 해당 풀이에 대한 분석을 한 결과, 큰수를 작은수가 되도록 하는것이 관건이었다. 더군다나 남은 일에 대한 제곱을 하기 때문에 일의 개수보다는 가장 큰 작업량을 줄이는 것이 중요하다. 따라서 우선순위 큐를 사용하였다. 1. 우선순위 큐 : 들어간 순서에 상관없이 일정한 규칙에 따라 우선순위 설정 후, 우선순위가 가장 높은 데이터가 먼저 출력 큐 사용법에 대해서는 해당 게시글을 보면서 공부하였다..

문제 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 입출력 예 풀이 동적계획법(DP) 사용 2차원 배열 dp 값 설정 dp의 원소 값 중 가장 큰 값 출력 최종 코드 public static int solution(int[][] triangle) { System.out.println("정수 삼각형"); int len = triangle.length; // 1. dp 초기화 int[][] dp = new int[len][len]; dp[0][0] = triangle[0][0]; // 1-1. 첫번째 요소 초기화 [i][0] for (int i = 1; i

문제 귤 k개를 고를 때 크기가 서로 다른 종류의 수의 최솟값 구하기 입출력 예 풀이 1. Map 초기화 1차 시도 1) Map 초기화 -> For 문 사용 2) 초기화한 Key값에 대한 개수를 설정 -> 이중 For문 사용 결과 : 시간 초과로 인한 실패 2차 시도 Map로 초기화 map.getOrDefault(Key, DefaultValue) Key : map에서 값을 가져올 Key 값 DefaultValue : 지정된 키가 존재하지 않을 경우, 해당 값으로 초기화 => 지정된 키가 존재하지 않을 경우, 두번쨰 매개변수를 통해 초기화하고 그렇지 않을 경우 해당 Value 반환 최종 코드 import java.util.HashMap; import java.util.ArrayList; import jav..