코팅테스트/백준 문제 모음
백준 1417번 파이썬 문제풀이(국회의원 선거)
유지광이
2022. 2. 22. 23:06
728x90
간단한 구현 문제이다. 파이썬의 리스트 내장 메서드 index만 잘 활용 한다면 쉽게 해결할 수 있다.
N = int(input())
vote = list(int(input()) for _ in range(N))
result = 0
while True:
# 만약 최댓값의 개수가 1이고 그 최댓값의 인덱스가 0이라면 탈출
if vote.count(max(vote)) == 1 and vote.index(max(vote)) == 0:
break
else: # 만약 최댓값의 개수가 2이상이라면 매수시작
vote[vote.index(max(vote), 1)] -= 1 # 2번째 수부터 끝까지 중에서 최댓값 중 -1 해준다.
# (만약 index인자에 1을 안주면 최댓값이 다솜이를 포함해서 동일하게 10일 경우에 다솜이의 인덱스가 젤 빠르기 때문에 다솜이의 표를 -1 해버린다.)
vote[0] += 1 # 다솜이의 투표수를 1개 추가
result += 1 # 매수한 사람 1명 추가.
print(result)
728x90