문제 링크
https://www.acmicpc.net/problem/1205
나의 코드 (Python)
n, x, p = map(int, input().split())
if n == 0: # n이 0이면 경우는 무조건 1
print(1)
else:
l = list(map(int, input().split()))
cnt = 0
if l[n-1] >= x and n == p: # 마지막 값이 내 점수보다 크거나 같으면서 리스트가 꽉찬 경우 -1
print(-1)
else:
for i in l:
cnt += 1 # 등수 카운팅
if x >= i: # 랭킹리스트가 내 점수가 더 크거나 동일한 경우 등수 출력
print(cnt)
break
else: # 랭킹리스트에 내 점수보다 크거나 같은걸 찾지 못한 경우
print(cnt+1)
경우의 수
1. 입력 리스트가 0인 경우는 무조건 답은 1등
2. 1번 조건이 아니면서 마지막 값이 내 점수보다 크거나 같으면서 리스트가 꽉 찬 경우 : 무조건 -1
3. 2번 조건까지 해당하지 않으면서 자기 점수가 점수 리스트보다 크거나 같은 경우
4. 모든 반복문을 완료해도 조건을 찾지 못한 경우 (랭킹 리스트에 내 점수보다 크거나 같은 값이 없는 경우)
위 경우의 수에 맞게 등수를 산출한다!
'코딩공부 > 백준 (python)' 카테고리의 다른 글
[백준 2869] 달팽이는 올라가고 싶다 (Python) (0) | 2022.03.20 |
---|---|
[백준 1193] 분수찾기 (Python) (0) | 2022.03.20 |
[백준 2292] 벌집 (Python) (0) | 2022.03.19 |
[백준 1712] 손익분기점 (Python) (0) | 2022.03.18 |
[백준 1316] 그룹 단어 체커 (Python) (0) | 2022.03.18 |
댓글