728x90
반응형

서류심사 성적을 기준으로 오름차순 정렬 

-> 면접 성적의 최솟값(확인한 것 중 제일 높은 순위)이 몇 번 업데이트되는지 확인

for _ in range(int(input())):
    N = int(input())
    li = [list(map(int, input().split())) for i in range(N)]
    li.sort(key=lambda x:x[0])
    m, cnt = 100001, 0
    for i in range(N):
        if li[i][1] < m:
            m = li[i][1]
            cnt += 1
    print(cnt)

위의 코드도 맞긴 하는데 시간 초과가 걸린다. std.readline을 사용해서 해결했다.

from sys import stdin

for _ in range(int(stdin.readline())):
    N = int(stdin.readline())
    li = [list(map(int, stdin.readline().split())) for i in range(N)]
    li.sort(key=lambda x:x[0])
    m, cnt = 100001, 0
    for i in range(N):
        if li[i][1] < m:
            m = li[i][1]
            cnt += 1
    print(cnt)
728x90
반응형

+ Recent posts