목록탐욕법 (19)
Dev.baelanche

그리디한 방식으로 접근하여 풀었다. 플러그를 뽑는 조건만 잘 잡으면 여러 방식으로 풀 수 있는데 나는 문제 그대로 구현하는 방식으로 했다. 1. 플러그에 빈 공간이 있으면 플러그를 꼽는다. 2. 플러그에 빈 공간이 없으면 이미 꽂혀져 있는 기기에 대한 사용 계획을 찾아야 한다. 2-0. 꽂혀져 있는 플러그와 지금 꽂을 플러그가 같은 기기라면 통과한다. 2-1. 꽂혀져 있는 플러그 중 이후에 사용 계획이 없다면 최우선으로 뽑는다. 2-2. 꽂혀져 있는 플러그 모두가 이후에도 사용 계획이 있다면 사용 계획이 느린 것부터 뽑는다. 무턱대고 구현한 코드라 주석을 많이 남겼다. public class Main { public static void main(String[] args) { Scanner sc = ne..

좌측에 주어진 수부터 테이프로 메꾼다. 테이프는 -0.5, +0.5 만큼 덮어야하므로 구멍의 위치가 1, 2 테이프 길이가 1이면 2개가 있어야 모두 덮을 수 있다. 따라서 범위 조건은 1

캠핑장 이용일 수를 최대로 하기 위해, 전체 휴가 수에서 캠핑 이용일 수를 빼고 캠핑장 이용 불가능 한 수를 번갈아 빼며 진행한다. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int c = 1; while(true) { int l = sc.nextInt(); int p = sc.nextInt(); int v = sc.nextInt(); if(l == 0 && p == 0 && v == 0) break; int use = 0; while(true) { if(v >= l) { v -= l; use += l; } else { use += v; v = 0; } v -= p - l;..