문제링크 : https://www.acmicpc.net/problem/26215
작성코드
해설
눈을 치우는 규칙은 한번에 한 집 혹은 두 집의 눈을 1만큼 치우는 것이다.
한번에 두 집의 눈을 치우는 것이 가장 빠르게 눈을 치울 수 있기 때문에
최대한 두 집을 치워야만 한다.
두 가지 경우로 나눌 수 있는데
1. 가장 많은 눈이 쌓인 집의 눈 양이 나머지 쌓인 눈보다 적은 경우
2. 가장 많은 눈이 쌓인 집의 눈 양이 나머지 쌓인 눈보다 클 경우
1 의 경우 모든 집을 두번씩 치우고 만약 홀 수 일 경우만 마지막에 한집만 치우면 된다.
결과 : 올림(총 눈의 양 / 2)
2의 경우 매번 가장 많이 쌓인 집을 치우면서 다른 집을 치우더라도 가장 많이 쌓인 집 눈이 남아있다.
결과 : 가장 많이 눈이 쌓인 집
1440 분이 넘게 걸린다면 -1을 출력하라고 조건이 있으니 마지막에 if문으로 조건을 달아 출력한다.
'백준 > Python' 카테고리의 다른 글
[백준] 11660 구간 합 구하기 5 (python 파이썬) (0) | 2023.01.02 |
---|---|
[백준] 26217 별꽃의 세레나데(Easy) (python 파이썬) (0) | 2022.12.22 |
[백준] 2559 수열 (python 파이썬) (0) | 2022.12.07 |
[백준] 11054 가장 긴 바이토닉 부분 수열 (python 파이썬) (0) | 2022.12.07 |
[백준] 11053 가장 긴 증가하는 부분 수열 (python 파이썬) (0) | 2022.12.05 |