티스토리 뷰
728x90
https://www.acmicpc.net/problem/16435
- 문제 :
스네이크버드는 뱀과 새의 모습을 닮은 귀여운 생물체입니다.
스네이크버드의 주요 먹이는 과일이며 과일 하나를 먹으면 길이가 1만큼 늘어납니다.
과일들은 지상으로부터 일정 높이를 두고 떨어져 있으며 i (1 ≤ i ≤ N) 번째 과일의 높이는 hi입니다.
스네이크버드는 자신의 길이보다 작거나 같은 높이에 있는 과일들을 먹을 수 있습니다.
스네이크버드의 처음 길이가 L일때 과일들을 먹어 늘릴 수 있는 최대 길이를 구하세요.
- 풀이 :
과일의 높이를 오름차순 정렬하고 낮은 위치의 과일부터 먹어치우면 된다.
- 소스코드 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import sys
input = sys.stdin.readline
if __name__ == "__main__":
N,L = map(int,input().split())
h = sorted(list(map(int,input().split())))
for i in range(N):
if h[i] <= L:
L += 1
else:
break
print(L)
|
cs |
320x100
'Algorithm > Greedy' 카테고리의 다른 글
(Python/파이썬) - 백준(BOJ) 1826번 : 연료 채우기 (0) | 2022.05.02 |
---|---|
(Python) - BOJ(19941번) : 햄버거 분배 (0) | 2022.02.16 |
(Python) - BOJ(16162번) : 가희와 3단 고음 (0) | 2022.02.14 |
(Python) - BOJ(16112번) : 5차 전직 (0) | 2022.02.11 |
(Python) - BOJ(14247번) : 나무 자르기 (0) | 2022.02.10 |
댓글
© 2022 WonSeok, All rights reserved