인사고과
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 내 풀이
- wanho 보다 합이 큰 수들만 정렬하면서 filtered에 저장
- 아래 기준으로 정렬 후, 완호가 지배당할 경우 확인하면서 순위 확인
- filtered.sort(key= lambda x:(-x[0],x[1]))
- 오름차순, 내림차순 정렬하는 이유
- 뒤로 갈수록 작아지도록 a값을 고정해두는 것
- 첫번째 값이 동일할때는 b는 작은 값이 앞에 오기 때문에
- 이후에는 두 번째 점수(b)에 대해서만 max_b를 갱신하며 지배 여부 판별 가능
- 오름차순, 오름차순 정렬하게 되면
- a가 동일한 값인데 b가 앞에서 max_b로 업데이트 될 위험이 있음
- 오름차순, 내림차순 정렬하는 이유
def solution(scores):
answer = 0
wanho=scores[0]
filtered=[]
for score in scores[1:]:
if sum(score)<=sum(wanho):
continue
filtered.append((score[0], score[1]))
filtered.sort(key= lambda x:(-x[0],x[1]))
cnt=1
max_b=0
for a,b in filtered:
if wanho[0]<a and wanho[1]<b:
return -1
if b<max_b:
continue
cnt+=1
max_b=b
answer=cnt
return answer
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스][누적합] 📍쿼드압축 후 개수 세기 (2) | 2025.06.24 |
|---|---|
| [프로그래머스][메모이제이션] 풍선 터트리기 (0) | 2025.06.19 |
| [프로그래머스][정렬] H-Index (0) | 2025.06.09 |
| [프로그래머스] 완전 범죄 (1) | 2025.06.01 |
| [프로그래머스][BFS] 혼자 놀기의 달인 (0) | 2025.05.29 |