*문제 출처는 백준에 있습니다.
문제 제목: 등수 구하기 / 1205번 (실버 4단계)
문제 사이트: https://www.acmicpc.net/problem/1205
문제 설명
나의 풀이
# N, 태수의 새로운 점수 : score, P
N, score, P = map(int, input().split())
# 랭크
if N == 0:
rank = [score]
else:
rank = [score] + list(map(int, input().split()))
rank.sort(reverse = True)
# 결과값
answer = 1
dic = {}
for i in rank:
if not dic.get(i):
dic[i] = 1
else:
dic[i] += 1
for r, people in dic.items():
P -= people
if P < 0:
print(-1)
break
if r == score:
print(answer)
break
else:
answer += people
※ 알아야 할 것
딕셔너리는 자동으로 내림차순으로 정렬하지 않고 넣는 순서대로 들어간다.
그래서 리스트로 내림차순으로 저장해서 딕셔너리에 넣으면 내림차순으로 들어가게 된다.
'코딩테스트(프로그래머스 & 백준) > 백준-Python' 카테고리의 다른 글
백준 / 가운데를 말해요 / 1655번 / Python (0) | 2024.08.14 |
---|---|
백준 / 줄 세우기 / 2252번 / Python (0) | 2024.08.13 |
백준 / 동전 2 / 2294번 / Python (0) | 2024.08.09 |
백준 / 소수의 연속합 / 1644번 / Python (0) | 2024.08.08 |
백준 / 가장 긴 증가하는 부분 수열 2 / 12015번 / Python (0) | 2024.08.07 |