풀이
1. 서류심사 순위로 오름차순 나열한다.
2. 서류심사 순위가 가장 높은 지원자 A의 면접성적 순위보다 낮은 지원자 B는 A보다 순위가 높은 성적이 없으므로 탈락한다.
>> A의 면접점수 순위를 max값으로 설정한 후에 다른 지원자의 순위를 순서대로 비교해가며 순위가 더 낮은 지원자의 수(cnt)를 계산한다. cnt의 값이 올라가면서 max값은 합격한 다른 지원자의 면접점수 순위로 바뀌게 된다.
>> 코드
import sys
n = int(input())
for i in range(n):
score = []
m = int(input())
for i in range(m):
first, sec = map(int, sys.stdin.readline().split())
score.append([first, sec])
score.sort()
cnt = 1
max = score[0][1]
for i in range(1, m):
if max > score[i][1]:
cnt += 1
max = score[i][1]
print(cnt)
>> input으로 값을 입력받을 시, 시간초과의 결과가 뜨는데, sys.stdin.readline을 사용하여 입력받으면 해결된다 🙂
'알고리즘 > 문제풀이' 카테고리의 다른 글
[BOJ][Python] #13164 행복 유치원 (0) | 2022.07.24 |
---|---|
[BOJ][Python] #1543 문서 검색 (0) | 2022.05.18 |
[BOJ][Python] #16953 A → B (0) | 2022.05.17 |
[LeetCode] #35 Search Insert Position (0) | 2022.03.17 |
[LeetCode] #9 Palindrome Number (0) | 2022.03.16 |
댓글