STUDY/Python 알고리즘
[백준] 1946번 신입 사원
Ojungii
2024. 5. 29. 13:50
이 문제는 문제 해석을 하는데 어려웠습니다. 문제를 정확히 이해해야 풀이가 가능했습니다.
접근법
- 서류와 면접 둘 중 하나라도 뒤쳐지지 않아야한다 → 하나를 기준으로 잡고 하나를 비교
- 서류를 기준으로 정렬 후 면접의 등수를 비교
- 서류 1등의 면접 등수 활용
→ 서류 1등을 제외한 모든 참가자는 서류 1등보다 서류가 뒤쳐지므로 면접에서 더 좋은 등수를 맞아야지 합격!!
- 또한 커트라인을 갱신하여 커트라인을 조정 ( 서류 기준 정렬이기 때문에 반복문에서 서류 등수가 높은 순부터 나오기 때문)
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
n = int(input())
cnt = 1
scores = [ list(map(int,input().split())) for _ in range(n)]
scores.sort() # 서류를 기준으로 정렬
cut_line = scores[0][1] # 서류 1등의 면접 등수
for i in scores:
if i[1] < cut_line :
cnt +=1
cut_line = i[1] # 합격 커트라인 업데이트
print(cnt)