본문 바로가기

PS/백준

[BOJ] 백준 1205 등수 구하기 (Swift)

반응형

문제

https://www.acmicpc.net/problem/1205

 

1205번: 등수 구하기

첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보

www.acmicpc.net

풀이

존재하는 랭킹 리스트에서 점수를 입력받고, 자신의 등수를 출력하는 문제입니다.
하지만 리스트의 길이보다 낮다면 랭킹 리스트에 올라갈 수 없으므로 -1을 출력해주어야 합니다.

기존의 랭킹 리스트에서 입력받은 점수를 넣어주고, 내림차순으로 정렬을 해주었습니다.

점수가 랭킹리스트에 올라갈 수 없을 정도로 낮은지 확인하기 위해서
랭킹 리스트에서 lastIndex를 구해 p와 비교하였습니다.

p보다 크거나 같다면, 랭킹 리스트에 등록될 수 없습니다.

만약 p보다 작다면, firstIndex를 구해, 자신보다 높은 점수들의 개수를 세고 1을 더해주어서 등수를 구할 수 있습니다.

소스코드

후기

구현 문제였습니다.
firstIndexlastIndex 메서드를 사용하여 간단하게 구할 수 있는 문제였습니다.

반응형