기록하고 까먹지 말기

1417 본문

전공/백준

1417

yha97 2022. 12. 6. 13:19

날짜 : 2022. 12. 06

사용 언어 : python

 

문제

 

 

코드

import sys

n = int(sys.stdin.readline())
a = list()
dasom = 0
for i in range(n):
    if i == 0:
        dasom = int(sys.stdin.readline())
        a.append(dasom)
    else: a.append(int(sys.stdin.readline()))
a.sort()
#print(a)

cnt = 0
while True:
    if a.index(dasom) == (n-1): break
    cnt += 1
    a[-1] -= 1  # 최댓값 - 1
    idx = a.index(dasom)  # 인덱스 찾기
    a[idx] += 1
    dasom = a[idx]  # 다솜의 값 갱신
    a.sort()
    #print(a)


print(cnt)
#print(a)

 

 

풀이

- 최댓값을 1씩 빼주고 그럴 때마다 cnt 값을 1씩 늘려주면서 sort를 반복한다.

- 그리고 다솜이의 인덱스가 해당 리스트의 가장 끝에 자리할 때 반복문을 탈출한 다음 해당 값을 출력한다.

 

 

알게된 점

- heqpq로 구현하려 하다 너무 비효율적인거같아서 포기하고 바로 while문으로 돌렸다.

 

 

참고 사이트

 

'전공 > 백준' 카테고리의 다른 글

10974  (0) 2022.12.07
11403  (0) 2022.12.06
1654  (0) 2022.12.05
7569  (0) 2022.12.04
10026  (0) 2022.12.03