본문 바로가기
알고리즘

[BOJ] 1946 신입 사원 - python

by saoh 2022. 3. 16.
import sys

T = int(sys.stdin.readline())
for _ in range(T):
    N = int(sys.stdin.readline())
    score = [0]*N
    for i in range(N):
    	# 공백을 기준으로 int형으로 나눠 각각 리스트로 저장한다. 
        # 리스트 내에 리스트로 저장된다.
        score[i] = list(map(int,sys.stdin.readline().split()))
        
    # 첫번째 값을 기준으로 정렬된다.
    score.sort()
    
    # 서류 심사 1등은 합격이기 때문에 1로 초기화한다.
    count = 1
    
    # 서류 심사 등수를 이미 정렬해놓았기 때문에,
    # 면접 심사에서 앞의 사람들보다 낮은 등수를 받았다면 탈락이다.
    # 따라서 이전에 나온 등수 최솟값(min)보다 높은 등수를 갖고 있다면 합격이다. count+1 해준다.
    min = score[0][1]
    
    for j in range(1,N):
        if score[j][1] < min:
            min = score[j][1]
            count += 1
    print(count)

'알고리즘' 카테고리의 다른 글

[개념] BFS(Breadth-First Search) - python  (1) 2022.03.20
[개념] 힙 정렬 - python  (0) 2022.03.17
[BOJ] 2108 통계학 - python  (0) 2022.03.15
[BOJ] 1302 베스트 셀러 - python  (0) 2022.03.04
[BOJ] 11656 접미사 배열 - python  (0) 2022.03.03