Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 구현
- 너비우선탐색
- Python
- 자료구조
- 누적 합
- 백준알고리즘
- 큐
- BOJ
- 두 포인터
- 브루트포스 알고리즘
- swift
- 코딩테스트
- 그리디알고리즘
- 스택
- 파이썬
- Xcode
- 문자열
- 해시를사용한집합과맵
- 깊이우선탐색
- 백준
- programmers
- python3
- 그래프탐색
- 그래프이론
- 프로그래머스
- 트리를사용한집합과맵
- 알고리즘
- Mac
- 다이나믹프로그래밍
- 정렬
Archives
- Today
- Total
Coding Cantabile
[BOJ] #16435_스네이크버드(Python3, 파이썬) 본문
본 게시글은 백준 저지 알고리즘 문제를 '파이썬, Python3' 언어로 풀이한 내용을 주관적으로 정리하였으며, 내용과 관련된 코드리뷰 및 피드백 환영합니다.
티어
Silver V
문제
스네이크버드는 뱀과 새의 모습을 닮은 귀여운 생물체입니다.
스네이크버드의 주요 먹이는 과일이며 과일 하나를 먹으면 길이가 1만큼 늘어납니다.
과일들은 지상으로부터 일정 높이를 두고 떨어져 있으며 i (1 ≤ i ≤ N) 번째 과일의 높이는 hi입니다.
스네이크버드는 자신의 길이보다 작거나 같은 높이에 있는 과일들을 먹을 수 있습니다.
스네이크버드의 처음 길이가 L일때 과일들을 먹어 늘릴 수 있는 최대 길이를 구하세요.
입력
첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다.
두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다.
출력
첫 번째 줄에 스네이크버드의 최대 길이를 출력합니다.
예제 입력 및 출력 1
3 10
10 11 13
12
예제 입력 및 출력 2
9 1
9 5 8 1 3 2 7 6 4
10
풀이
import sys
input = sys.stdin.readline
N, length = map(int,input().split()) # 과일의 개수, 스네이크버드의 초기 길이
height = list(map(int, input().split())) # 과일 높이
height.sort()
for h in height:
if length >= h:
length += 1
else:
continue
print(length)
처음에 순서대로 과일을 먹고, 한 과일을 테스트하면 다시 돌아보지 않는 것으로 문제를 해석해서 틀렸다. 하나씩 먹을때마다 값이 올라가기 때문에, 반드시 과일을 순서대로 정렬하여 테스트해야 한다.

'Coding Test > BOJ' 카테고리의 다른 글
| [BOJ] #1654_랜선 자르기(Python3, 파이썬) (0) | 2023.01.19 |
|---|---|
| [BOJ] #3085_사탕 게임(Python3, 파이썬) (0) | 2023.01.09 |
| [BOJ] #11478_서로 다른 부분 문자열의 개수(Python3, 파이썬) (0) | 2022.12.11 |
| [BOJ] #2776_암기왕(Python3, 파이썬) (0) | 2022.12.08 |
| [BOJ] #1269_대칭 차집합(Python3, 파이썬) (0) | 2022.12.06 |