https://www.acmicpc.net/problem/16678
문제에서 주어진 그대로
for문을 사용하여 구현하였으나
시간초과 흠...
그럼 어찌해야하나..
n = int(input())
array = sorted(list(int(input()) for _ in range(n)))
answer = 0
for num in range(n):
array = [array[i] - 1 for i in range(n)]
if array[num] >= 1:
answer += array[num]
print(answer)
변수 t를 이용하여
손쉽게 해결할 수 있었다.
t가 모든 국회의원을 모독해서 각각의 명예 점수를 1씩 감소시키는 데 사용되는 변수다.
n = int(input())
array = sorted(list(int(input()) for _ in range(n)))
answer = 0
t=1
for num in range(n):
# array = [array[i] - 1 for i in range(n)]
if array[num] >= t:
answer += array[num]-t
t+=1
print(answer)
'여니의 취준 준비 > 코딩테스트 (Python)' 카테고리의 다른 글
[2312] 수 복원하기 in python (0) | 2022.02.12 |
---|---|
[2473] 세 용액 in python (0) | 2022.01.31 |
[20127] Y - 수열 in python (0) | 2022.01.30 |
[1722] 순열의 순서 in python (0) | 2022.01.29 |
[1890] 점프 in python (0) | 2022.01.26 |