제한시간 2초 메모리제한 256 MB
입력
2
5
3 2
1 4
4 1
2 3
5 5
7
3 6
7 3
4 2
1 4
5 7
2 5
6 1
출력
4
3
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
n = int(input())
arr = [0]*(n+1)
for _ in range(n):
a,b = map(int,input().split())
arr[a] = b
cnt = -1
for i in range(1,n+1):
if arr[i] > arr[i-1]:
cnt += 1
print(n - cnt)
배열을 만들어 서류심사 성적을 index로, 면접성적을 value로 하여 정렬 필요없게 배열에 값 저장
for문으로 순회하면서 인덱스가 커졌는데 값도 커지면 이전 사람보다 둘 다 잘본 사람이라 생각한다.
=> 오답
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
n = int(input())
arr = [0]*(n+1)
for _ in range(n):
a,b = map(int,input().split())
arr[a] = b
cnt = 0
m = arr[1]
for i in range(2,n+1):
if arr[i] > m:
cnt += 1
else:
m = arr[i]
print(n - cnt)
이전것과만 비교하지 않고 min값을 선언하여( m = arr[1] ) 이 값보다 크면 서류, 면접 성적이 모두 높은 것이므로 cnt + 1 하고 작으면 min값을 업데이트 해준다.