Python으로 구현한 18228번 펭귄추락대책위원회 문제 풀이입니다.
https://www.acmicpc.net/problem/18228
n = int(input())
data = list(map(int, input().split()))
index = 0
for i in range(len(data)) :
if data[i] == -1 :
index = i
break
print(min(data[:index:]) + min(data[index+1::]))
1. 펭귄이 위치한 인덱스를 기준으로 왼쪽 부분 중 최솟값과 오른쪽 부분 중 최솟값을 더하여 문제를 해결할 수 있다.
2. 얼음을 깨뜨리는 데에 드는 힘을 의미하는 수를 입력받아 리스트 형태로 구성하여 data에 저장한다.
3. 반복문을 통해 data 리스트의 값을 하나씩 확인하여 해당 값이 -1일 경우 index에 해당 인덱스 값을 저장한다.
4. 저장된 index 값을 기준으로 왼쪽 부분의 최솟값과 오른쪽 부분의 최솟값을 더하여 출력한다.
'백준(Python) 풀이 > 그리디 알고리즘' 카테고리의 다른 글
백준(Python) 15881번 Pen Pineapple Apple Pen 풀이 (0) | 2021.12.13 |
---|---|
백준(Python) 1434번 책 정리 풀이 (0) | 2021.12.08 |
백준(Python) 18238번 ZOAC 2 풀이 (0) | 2021.12.08 |
백준(Python) 14487번 욱제는 효도쟁이야!! 풀이 (0) | 2021.12.08 |
백준(Python) 2810번 컵홀더 풀이 (0) | 2021.12.08 |