🧑💻 [Python] 백준 1946 신입 사원
Silver 1 - 정렬
서류 성적과 면접 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않으면 선발을 한다
즉 서류 성적, 면접 성적 모두, 다른 지원자보다 낮으면 떨어지는 것이다
문제 풀이
- 먼저 서류 성적 기준으로 정렬을 한다
- 그리고 면접 성적들을 비교를 한다
- 제일 처음 기준을 서류 면접에서 1등 한 사람 기준으로 간다
- 서류 면접 1등 사람 기준(A)으로 면접 성적이 더 우수하다면, 그 사람도 (B) 신입 사원으로 뽑힐 수 있다
- 그 다음부터는 B의 면접 성적 기준으로 비교를 한다. (이렇게 계속 면접 성적 기준을 바꿔주면서 비교를 하며 뽑힐 수 있는 신입 사원의 수를 구한다)
- 정렬한 기준, 제일 앞에 있는 사람은 무조건 신입사원으로 뽑힌다. 서류가 1등이다.
코드
T = int(input())
for _ in range(T):
N = int(input())
rank = []
for n in range(N):
rank.append(tuple(map(int, input().split())))
rank.sort()
cnt = 1
score = rank[0][1]
for r in range(1, len(rank)):
if rank[r][1] < score:
cnt += 1
score = rank[r][1]
print(cnt)
'알고리즘 > 정렬' 카테고리의 다른 글
[Python] 백준 2437 저울 (1) | 2023.01.11 |
---|---|
[Python] 백준 6068 시간 관리하기 (0) | 2023.01.09 |
[Python] 백준 1202 보석 도둑 (0) | 2023.01.06 |
[Python] 백준 1253 - 좋다 (0) | 2023.01.05 |
[Python] 백준 11497 - 통나무 건너뛰기 (0) | 2023.01.04 |