안 쓰던 블로그

신년맞이 boj - day6 본문

알고리즘/알고리즘 문제 풀이

신년맞이 boj - day6

proqk 2021. 1. 6. 23:54
반응형

6068 시간 관리하기

1263 시간 관리

'늦잠을 언제까지 잘 수 있냐'가 문제이기 때문에 끝나는 시간을 기준으로 내림차순 정렬하고

앞에서부터(가장 끝나는 시간이 늦은 일부터) 일을 최소 언제부터 시작해야 하는지를 계산한다

예제로 보면, 5 20은 최소 15에는 시작해야 한다

1 16은 최소 15에는 시작해야 하지만, 15에는 5 20이 해야 하므로 앞으로 밀려서 14에는 시작해야 한다

8 14는 최소 6에는 시작하면 된다

3 5는 최소 2에 시작하면 된다

 

github.com/proqk/Algorithm/blob/master/greedy/6068%20%EC%8B%9C%EA%B0%84%20%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0(1263%20%EC%8B%9C%EA%B0%84%20%EA%B4%80%EB%A6%AC).cpp

 

 

1700 멀티탭 스케줄링

멀티탭이라는 이름이 붙었지만 프로세스 스케줄링 중에 가장 나중에 사용될 것을 고르는 알고리즘과 비슷하다

멀티탭에 꽂혀 있는 것들 중에 가장 나중에 다시 나오는 것(혹은 다시 안 꼽는 것, 여러 개면 숫자 낮은 기준)을 빼는 식으로 했다

 

모든 전기용품에 대해서

1. 이미 꽂혀 있나?->꽂혀 있으면 그냥 냅둔다

2. 꽂혀있지는 않지만 플러그 구멍이 남았나?->해당 플러그 구멍에 꽂는다

3. 꽂혀있지 않고 플러그도 만석이다->꽂혀 있는 전기용품이 각각 다음에 언제 나오는지 비교한다. 가장 나중에 다시 나오는 것이나 앞으로 다시 나오지 않는 것을 찾아서 뽑는다

 

github.com/proqk/Algorithm/blob/master/greedy/1700%20%EB%A9%80%ED%8B%B0%ED%83%AD%20%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81.cpp

 

반응형
Comments