개인 공부 공간/Algorithm
BOJ(백준) 1946번 신입 사원 파이썬
Hoon Kang
2021. 3. 22. 22:25
1946번: 신입 사원
첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성
www.acmicpc.net
코드
import sys
r=sys.stdin.readline
T=int(r())
for _ in range(T):
cnt=0
N=int(r())
l=[[0,0] for _ in range(N)]
for i in range(N):
a,b=map(int,r().split())
l[i][0]=a
l[i][1]=b
l.sort(key=lambda x:(x[0]))
cnt=1
s=l[0][1]
for i in range(1,N):
if l[i][1] < s:
s=l[i][1]
cnt+=1
print(cnt)
해설
지원자들의 서류 점수를 기준으로 정렬한 후 서류 점수가 1등인 지원자의 면접 순위를 s
에 저장하였다. 그 후 지원자들의 점수가 적재되어 있는 l
을 포문으로 순회하며 s
보다 높은 순위의 지원자가 있으면 cnt
에 1을 더한 후 s
값을 그 지원자의 면접 순위로 대체하였다.
결과