ebson

boj.kr/1946 신입사원 (silver1) 파이썬 풀이 본문

ALGORITHM STUDY WITH PYTHON/Greedy

boj.kr/1946 신입사원 (silver1) 파이썬 풀이

ebson 2023. 5. 8. 17:03

1. 서류 성적 순위를 기준으로 순위 목록을 오름차순 정렬

2. cur 변수에 정렬한 순위목록의 첫번째 요소의 면접 성적 순위를 저장

3. 1 부터 성적 목록의 마지막 인덱스까지 순회하면서 아래를 반복

3.1. cur보다 순회중인 인덱스의 면접 성적 순위가 높으면(작으면) cur에 해당 면접 성적 순위를 저장하고 카운트를 1 증감

4. 카운트를 출력

 

import sys
input = sys.stdin.readline
T = int(input())

for _ in range(T):
    N = int(input())
    ranks = [list(map(int, input().split())) for _ in range(N)]
    ranks = sorted(ranks, key = lambda x : x[0])    
    cur = ranks[0][1]
    cnt = 1
    for i in range(1, N):
        if ranks[i][1] < cur:
            cur = ranks[i][1]
            cnt += 1
    print(cnt)

 

sorted(리스트, key = lambda 식) 으로 다차원 배열에서 특정 요소를 기준으로 정렬할 수 있다.

빠른 입출력을 사용하거나 PyPy3 으로 제출해야 시간초과하지 않는다.

Comments