백준 문제 링크
국회의원 선거
- 다솜이의 득표수 dasom과 다른 후보의 득표수 리스트인 data를 만든다.
- data를 내림차순으로 정렬한다.
- 조건은 다음과 같다.
- 만약 N이 1명, 즉 다솜이 혼자 출마했다면 0을 반환한다.
- 그렇지 않다면, dasom과 data[0]를 비교해가며,
data[0]가 더 크거나 같을 때 data[0] -= 1, dasom += 1,
answer += 1(매수해야 하는 사람의 수), data.sort(reverse = True) 해준다.
여기서 내림차순 정렬해야하는 이유는
dasom = 5, data = [10,8,7,3]일 때
1) dasom = 6, data = [9,8,7,3] 정렬 후 [9,8,7,3]
2) dasom = 7, data = [8,8,7,3] 정렬 후 [8,8,7,3]
3) dasom = 8, data = [7,8,7,3] 정렬 후 [8,7,7,3]
4) dasom = 9, data = [7,7,7,3] 정렬 후 [7,7,7,3] while 문 중단
answer를 반환하면 끝
N = int(input())
dasom = int(input())
data = []
for _ in range(N-1):
data.append(int(input()))
data.sort(reverse = True)
answer = 0
if N == 1:
print(0)
else:
while data[0] >= dasom:
data[0] -= 1
dasom += 1
answer += 1
data.sort(reverse = True)
print(answer)