1. 다 자라는데 가장 오랜 기간이 걸리는 나무를 첫 날 심어줘야 하기 때문에 나무를 내림차순 정렬
2. 심는데 1일, 다 자라고 나서 1일 총 2일 필요 + 심는 날짜 별로 일수 추가
3. 제일 늦게 완성되는 날짜 일수 출력.
예 - [2,3,4,3]의 나무가 있는 경우
1. 나무 [4,3,3,2]로 정렬
2. 각 나무 완성에 필요한 일수 계산 -> [2,3,4,5]를 각각 자리별로 더해줌.
3. 더해진 리스트에서 최대값 출력
# 9237번 : 이장님 초대
n = int(input())
li = list(map(int,input().split()))
li.sort(reverse=True)
li2 = [i+2 for i in range(n)]
ans = [x+y for x,y in zip(li,li2)]
print(max(ans))
728x90
'알고리즘 문제풀이 > Greedy' 카테고리의 다른 글
(파이썬 python) 백준 1213번 : 팰린드롬 만들기(greedy) (0) | 2022.05.12 |
---|---|
(파이썬 python) 백준 11000번 : 강의실 배정(greedy) (0) | 2022.05.11 |
백준 1343번 : 폴리오미노 (greedy) (0) | 2022.05.10 |
백준 1138번: 한 줄로 서기(greedy) (0) | 2022.05.10 |
백준 3109번: 빵집 - 파이썬(greedy) (0) | 2022.05.04 |