728x90
반응형
https://www.acmicpc.net/problem/9237
문제의 접근 방법
- 묘목을 구입한 날이 1일: 1부터 시작함을 명심한다.
- 묘목 하나를 심는데 걸리는 시간이 1일이기 때문에 다음 묘목을 심을 때는 1씩 늘어난다는 것을 유의.
- 이장님은 묘목이 다 자란 후 오시기 때문에 1일이 또 추가됨을 안다.
문제 풀이 방법
심을 묘목의 개수 n개 입력 받기 -> n개의 묘목이 자라는데 걸리는 일수 입력받기 -> 리스트 day 내림차순으로 정렬 (이유: 가장 오래걸리는 묘목을 제일 빨리 심어야 이장님을 최대한 빨리 초대할 수 있음) -> 누적해서 더한 값들 중 최대 값에 1일을 더해서 출력.
소스코드
n = int(input())
day = list(map(int, input().split()))
day.sort(reverse=True)
for i in range(len(day)):
day[i] = day[i] + i + 1 # 묘목을 심는데 걸리는 일수(누적) + 1일부터 시작
print(max(day)+1) # 이장님은 묘목이 다 자란 후 다음날 오시기 때문에 1 더하기
728x90
반응형
'백준 write-up > 정렬 & 그리디' 카테고리의 다른 글
[백준] 동일한 단어 그룹화하기 : 16499번 - Python (0) | 2022.06.08 |
---|---|
[백준] 비트 우정지수 : 12782번 - Python (0) | 2022.06.06 |
[백준] 사과나무 : 19539번 - Python (0) | 2022.06.03 |
[백준] Yangjojang of The Year : 11557번 - Python (0) | 2022.06.02 |
[백준] 방탈출 : 15729번 - Python (0) | 2022.06.01 |