코드
from sys import stdin
input = stdin.readline
t = int(input())
for _ in range(t):
ans = 0
winners = []
n = int(input())
scores = [list(map(int, input().split())) for _ in range(n)]
scores.sort(key=lambda x: x[0])
winners.append(scores[0][1])
ans += 1
for i in range(len(scores)):
if scores[i][1] < winners[-1]:
ans += 1
winners.append(scores[i][1])
print(ans)
결과
풀이 방법
- 우선 서류평가 순위를 기준으로 입력받은 순위를 오름차순 정렬한 다음, 1위의 면접평가 점수를 합격자 면접평가 순위 리스트에 추가한다.
- 그다음, 2위부터 순차적으로, 가장 최근에 추가된 합격자의 면접평가 순위보다 현재 지원자의 면접평가 순위가 높은 경우 합격자 면접평가 순위 리스트에 추가한다.
- 가장 최근에 추가된 합격자의 면접 순위와 비교하는 이유는, 해당 합격자의 면접 순위가 그 이전 합격자의 면접평가 순위보다 항상 높으므로 그 이전 합격자들의 면접평가 순위와는 비교할 필요가 없기 때문이다.