본문 바로가기
백준

백준 1417 국회의원 선거

by 콩순이냉장고 2024. 1. 3.

문제 URL :https://www.acmicpc.net/problem/1417

 

1417번: 국회의원 선거

첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같

www.acmicpc.net

문제 접근법 : 

내가가지고 있는 득표수에서 최대값에서 하나씩 빼가서 최대값보다 더커질때까지 여러번 반복합니다.

그반복횟수를 출력해주면됩니다.

득표수나 n이 너무 적기때문에 효율적인 알고리즘이 아니어도 최대값을 하나씩 빼서 최대값보다 크면 

반복문에서 빠져나오는 알고리즘이면 좋을것같습니다.

 

저는 pq를 바로 생각해서 파이썬으로 풀게 됐네요

 

소스코드:

import sys
import heapq
input = sys.stdin.readline
n = int(input().rstrip())
l = [int(input().rstrip()) for i in range(n)]
pq = [-l[i] for i in range(1,n)]
heapq.heapify(pq)
res = 0
while pq and l[0]<=-pq[0]:
    l[0]+=1
    t = heapq.heappop(pq)
    heapq.heappush(pq,t+1)
    res+=1
print(res)

궁금한점 혹은 모르는 점 어떤질문이든 댓글은 언제나 환영입니다.

'백준' 카테고리의 다른 글

백준 12970 AB  (3) 2024.11.15
백준 20920 영단어 암기는 괴로워  (1) 2024.01.03
백준 17425 약수의 합  (1) 2024.01.03
백준 9660 돌 게임6  (2) 2023.12.21
백준 9657 돌 게임3  (2) 2023.12.21