greedy 2

13904번: 과제

www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net 과제 문제는 그리디 알고리즘으로 해결하였다. 마감 기한 안에 어떤 과제들을 수행하여야 가장 높은 점수를 받을 수 있는 지 찾는 것이다. 그래서 어떠한 기준으로 greedy하게 할지 고민하였다. 내가 생각한 알고리즘은 제일 늦은 마감기한 날부터 거꾸로 내려가며, 남아있는 과제 중 가장 점수가 높은 과제를 선택하는 것이다. 코드는 다음과 같다. python code: import sys def solution(): n=int(sys.stdin.readline..

취준/코테일지 2021.01.12

16206번: 롤케이크

www.acmicpc.net/problem/16206 16206번: 롤케이크 오늘은 재현이의 생일이다. 재현이는 친구 N명에게 롤케이크를 1개씩 선물로 받았다. 롤케이크의 길이는 A1, A2, ..., AN이다. 재현이는 길이가 10인 롤케이크만 먹는다. 따라서, 롤케이크를 잘라서 www.acmicpc.net 그리디 알고리즘을 통해 해결하는 문제이다. 롤케이크가 10의 배수일 경우, 아닐경우를 나누어 배열에 저장하였다. 길이가 n인 롤케이크를 길이 10씩 컷 하면 n을 10으로 나눈 몫 만큼의 케이크를 얻을 수 있다. 롤케이크가 10의 배수이면 얻은 케이크 수보다 cut수가 하나 적고, 10의 배수가 아니면 얻은 케이크수가 즉 cut수이다. cut수는 제한되어 있기 때문에 롤케익을 최대한 많이 얻기 위해..

취준/코테일지 2021.01.07