-
[백준] 등수 구하기 (1205번) 파이썬Coding Test/Algorithm 2021. 3. 19. 01:46
1205번: 등수 구하기
첫째 줄에 N, 송유진의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000
www.acmicpc.net
import sys n, score, p = map(int, sys.stdin.readline().split()) if n == 0: print(1) exit() arr = list(map(int, sys.stdin.readline().split())) if min(arr) >= score: if n == p: print(-1) elif min(arr) == score: print(arr.index(min(arr))+1) else: print(n+1) else: try: print(arr.index(score)+1) # min(arr) == score 을 먼저 검증함으로 가장 높은 등수와 겹친 경우 -1로 미리 빼줘서 논리에 오류가 없게 함 # index함수는 같은 값이 존재하지 않을 때 오류를 내는 것을 이용하여 try, except를 사용함 except: for i in range(len(arr)): if arr[i] < score: cnt = arr.count(arr[i]) print(i+1) break
다른 사람들의 코드는 참고하지 않아서 잘 모르겠지만 index 실패시 오류가 나기 때문에 try, except문을 사용했다.
'Coding Test > Algorithm' 카테고리의 다른 글
[백준] 균형잡힌 세상 (4949번) 파이썬 (0) 2021.03.21 [백준] 소수&팰린드롬 (1747번) 파이썬 (0) 2021.03.20 백준 Q-인덱스 (13333번) 파이썬 (0) 2021.03.18 프로그래머스 실패율 (파이썬) (0) 2021.03.17 백준 18406 럭키 스트레이트 파이썬 풀이 (0) 2020.12.01