백준(Python) 풀이/그리디 알고리즘

백준(Python) 18228번 펭귄추락대책위원회 풀이

개발윗미 2021. 12. 8. 10:50

Python으로 구현한 18228번 펭귄추락대책위원회 문제 풀이입니다.

 

https://www.acmicpc.net/problem/18228

 

18228번: 펭귄추락대책위원회

일우는 친구들과 펭귄 얼음깨기 게임을 하고 있다. 계속 떨어지는 펭귄이 불쌍했던 일우는 INU 송년 코드페스티벌 참가자들을 펭귄추락대책위원회로 초대했다. 이 펭귄 얼음깨기는 리메이크

www.acmicpc.net


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 값을 기준으로 왼쪽 부분의 최솟값과 오른쪽 부분의 최솟값을 더하여 출력한다.