백준 1417(Python) 풀이 : 국회의원 선거



백준 1417 문제

백준 1417
백준 1417




백준 1417 풀이

첫번째 후보자가 다솜이기 때문에, 따로 dasom 변수에 저장했다. 그리고 나머지 후보들은 lst 라는 리스트에 저장하였다.

while 루프를 돌면서, 다른 후보자들 중 최고 득표자의 득표수에는 -1을 하고, 다솜의 득표수는 +1을 하는 방향으로 문제를 해결했지만 문제가 또 생겼다.


바로, 다솜이만 단독 출마를 했을 상황이다. 이러면 리스트에 아무것도 없는데, max를 써서 에러가 난다. 그래서 이런 상황을 막기 위해, n(후보자 수)이 1이었을 때는, 실행을 종료하도록 수정하였다.



# 입력
n = int(input())

# 후보와 득표수 리스트
dasom = int(input())  # 다솜이 득표수
lst = []  # 나머지 득표수
for _ in range(n - 1):
    lst.append(int(input()))

# 다솜이 매수한 표 수
cnt = 0

# 만약 n= 1이면 바로 종료
if n == 1:
    print(0)
    exit()

# 나머지 사람들 중 최고에게서, 다솜이의 득표수 에 1더하면 될듯.
while dasom <= max(lst):
    lst[lst.index(max(lst))] -= 1
    dasom += 1
    cnt += 1

print(cnt)




CATEGORIES:

Tags:

No Responses

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다