지나가던 개발자

[Python] 백준 1417번(국회의원 선거) 문제 풀이 본문

PS/Python

[Python] 백준 1417번(국회의원 선거) 문제 풀이

KwonYongHyeon 2022. 1. 4. 14:42

 

 다솜이라는 사람이 국회의원 선거에 나가기 위해서 유권자들을 매수하는데, 얼마나 매수해야 당선될 수 있을까를 묻는 문제이다.

 

 나는 저번에 학생회장/부회장 선거에 나갔었는데, 떨어졌었다. 나도 이 프로그램이 있어 학생들을 매수했다면 이길 수 있었을까(?). (농담이져 농담 ㅋㅋ)

 

 암튼 그래서 코드를 짜봤다.

 

candidates = []
for i in range(int(input())):
    candidates.append(int(input()))

person = 0
while True:
    is_True = True
    for i in range(1, len(candidates)):
        if candidates[i] >= candidates[0]:
            is_True = False
            break
    if is_True:
        print(person)
        break
    else:
        for i in range(1, len(candidates)):
            if candidates[i] == max(candidates):
                break
        candidates[i] -= 1
        person += 1
        candidates[0] += 1

 

 이런 코드가 나왔다. 다솜이 지지자의 수가 전 후보 중 1위가 아니라면 타 후보 중 1위 후보의 지지자 한명을 빼오고, 다솜이가 전 후보 중 1위라면 매수가 필요한 사람의 수를 출력한다.

 

 백준에 제출해 보자.

 

 

 맞았다 !

Comments