1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import sys
input = sys.stdin.readline
testcase = int(input())
for t in range(testcase) :
n = int(input())
l = []
for i in range(n) :
l.append(list(map(int, input().split())))
l.sort()
top = sys.maxsize
count = 0
for a, b in l :
if b < top :
count = count + 1
top = b
print(count)
|
cs |
IDEA
등수에는 중복이 없다.
서류심사 성적 ([0]) 순으로 정렬하면 각 인풋의 [0]은 1, 2, 3, 4, ...가 된다.
즉 모든 원소는 자기보다 앞에있는 원소들에 비해 서류심사 성적이 뒤지게 되고, 면접성적([1])만 고려하면 된다.
리스트의 앞에서부터 for문을 돌려 top(=min)보다 면접성적이 좋다면(=작다면) 거름당하지 않는다.
count를 +1하고 top를 갱신한다.
'Week 01 ~ 04 : 알고리즘 문제 풀이' 카테고리의 다른 글
파이썬 백준 9249 최장 공통 부분 문자열 (0) | 2021.11.29 |
---|---|
파이썬 백준 1700 멀티탭 스케줄링 (0) | 2021.11.27 |
파이썬 백준 1931 회의실 배정 (0) | 2021.11.27 |
파이썬 백준 1541 잃어버린 괄호 (0) | 2021.11.27 |
파이썬 백준 11047 동전 (0) | 2021.11.27 |