https://programmers.co.kr/learn/courses/30/lessons/42862?language=java 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr Greedy 알고리즘은 부분적인 최적해를 계속 확장 시켜서 전제적인 최적해를 찾는 알고리즘 입니다. 해당 문제에서는 m 개의 reserve 가 주어졌을때 최적해를 구하고 m+1 개의 reserve 가 주어졌을때 최적해를 구해서 최종적으로 n 개의 reserve 가 주어졌을때 최적해를 구함으로서 Greedy 를 이용합니다. 최적해를 구할때 ..
https://programmers.co.kr/learn/courses/30/lessons/43236?language=java 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr [프로그래머스: 코딩테스트 연습 고득점 kit] 의 이분탐색의 두번째 문제입니다. 이분탐색에서는 start, end 값을 어떻게 정의할 것인가, 어떤 기준으로 mid 와 start/end 를 바꿔나갈 것인가 가 쟁점입니다. start = 1, end = distance 로 시작합니다. mid = (start + end) / ..
https://programmers.co.kr/learn/courses/30/lessons/43238?language=java 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 이분탐색을 이용하여 입국 심사에 필요한 가장 짧은 시간을 구하는 문제입니다. 이분탐색에서는 start, end 값을 어떻게 정의할 것인가, 어떤 기준으로 mid 와 start/end 를 바꿔나갈 것인가 가 쟁점입니다. 최소시간 start 는 1분이다 최대시간 end 는 가장 느린 심사관이 모든 고객을 혼자 처리하는 시간이다. mid에 처리..
https://programmers.co.kr/learn/courses/30/lessons/42748?language=java 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr answer array 를 생성합니다. commands 에서 command 를 하나 받아 start end k 를 지정합니다 start, end 를 이용하여 temp 배열을 생성하고 정렬합니다. temp 배열에서 k 번째로 큰 값을 꺼내 answer 배열에 추가합니다. import java.util.Arrays; public class Solution { public int[] solution(int[]..