Algorithm/백준

[백준 알고리즘] 16206번: 롤케이크 (Python)

에릭 Kim 2023. 6. 29. 00:45
반응형

https://www.acmicpc.net/problem/16206

 

16206번: 롤케이크

오늘은 재현이의 생일이다. 재현이는 친구 N명에게 롤케이크를 1개씩 선물로 받았다. 롤케이크의 길이는 A1, A2, ..., AN이다. 재현이는 길이가 10인 롤케이크만 먹는다. 따라서, 롤케이크를 잘라서

www.acmicpc.net

 

소스코드

 

 

풀이

★ 입력받은 롤케이크 길이를 오름차순으로 정렬한 뒤, 10으로 나눈 나머지를 기준으로 또 정렬해줘야 합니다. 그 이유는 롤케이크가 10의 배수인지 아닌지에 따라 자르는 횟수가 다르기 때문입니다. 

 

ex) a = [10, 20, 24]

 

10의 자르는 횟수 = 0

20의 자르는 횟수 = 1

24의 자르는 횟수 = 2

 

따라서 최대 횟수인 m을 가지고 롤케이크를 최대로 구하기 위해선 자르는 횟수가 적은 것부터 먼저 잘라야 함 !! 

 

★ 롤케이크를 자르는 도중, 자르는 횟수가 m보다 커지는 경우가 있습니다. 

 

ex) x = 24, m = 1

 

m이 1이기 때문에 1번밖에 못자르는데, 24 길이를 자르기 위해서는 총 2번 잘라야 함. 

 

=> 위와 같은 경우는 m만큼만 자를 수 있기 때문에 구하고자 하는 롤케이크 개수에 m을 더해주면 됨. 

반응형