boj 1946 [정렬, 그리디]

돌멩e·2022년 7월 7일
0

알고리즘 뿌수기

목록 보기
6/17
post-thumbnail

boj 1946

📍Idea Logic

  1. 서류나 면접 중 하나라도 다른 지원자보다 점수가 떨어지면 안 된다.
  2. 일일이 비교하기보다는 서류 성적으로 정렬을 한 다음, 면접 성적을 비교한다.

❗️ERROR Point

  • 서류 1등의 면접 점수보다 다른 사람들의 등수가 높으면 된다고 생각.
  • but, (6,1)(7,3)일 경우 서류 1등보다 면접 점수는 높지만 (7,3)은 탈락되어야 한다.

📌 New Arrival

  • 파이썬에서의 최댓값
max_value = float('inf')

🔑 Solution

import sys

t = int(sys.stdin.readline())
for _ in range(t):
    arr = []
    n = int(sys.stdin.readline())
    for _ in range(n):
        a,b = list(map(int, sys.stdin.readline().split()))
        arr.append([a,b])
    
    # 서류 성적으로 오름차순 정렬
    arr.sort(key = lambda x:x[0])

    num = 0
    # 할 수 있는 최대값 - 파이썬
    meet = float('inf')
    # 서류1등의 면접 점수랑 비교 + (6,1)(7,3)일 경우 서류7등 탈락시키기
    for i in arr:
        if i[1] < meet:
            num += 1
            meet = i[1]
    print(num)

profile
돌이 되고 싶어요

0개의 댓글

관련 채용 정보