728x90
반응형
https://www.acmicpc.net/problem/16435
문제를 풀면서 몰랐던 개념
- 변수 선언 위치에 따라서 초기화 되는 시기가 다름.
문제의 접근 방법
- 오름차순 정렬
- 단순하게 생각하고 접근하기
내가 막혔던 부분
- 길이가 1씩 늘어나는 것에 대해 length 변수를 선언해서 값을 증가시키려고 했다.
# 처음에 잘못짰던 코드
n,s = map(int, input().split())
h = sorted(list(map(int, input().split())))
for i in range(n):
s = s + length
length = 0
for j in range(len(h)):
if h[j] <= s:
length += 1
del h[0]
print(s+length)
문제 풀이 방법
과일의 개수(n)와 스네이크 버드의 초기 길이(s)를 입력 받기 -> 과일들의 길이(h)를 n개만큼 입력받은 후 값 비교를 위해 정렬해서 리스트에 저장 -> n번 만큼 반복문을 돌려 리스트 h의 i번째 값이 초기 길이(s)보다 작거나 같으면 s에 1을 더하기 -> 위 과정을 반복해서 나온 최대 길이 s의 값 출력!
소스코드
n,s = map(int, input().split())
h = sorted(list(map(int, input().split())))
for i in range(n):
if h[i] <= s:
s += 1
print(s)
728x90
반응형
'백준 write-up > 정렬 & 그리디' 카테고리의 다른 글
[백준] 단어 퍼즐 : 9946번 - Python (0) | 2021.07.27 |
---|---|
[백준] 소가 길을 건너간 이유 3 : 14469번 - Python (0) | 2021.07.27 |
[백준] 숫자놀이 : 1755번 - Python (0) | 2021.07.26 |
[백준] 정열적인 정렬 : 16212번 - Python (0) | 2021.07.22 |
[백준] 먹을 것인가 먹힐 것인가 : 7795번 - Python (0) | 2021.07.22 |