728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/152995
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
완호네 회사는 연말마다 1년 간의 인사고과에 따라 인센티브를 지급합니다. 각 사원마다 근무 태도 점수와 동료 평가 점수가 기록되어 있는데 만약 어떤 사원이 다른 임의의 사원보다 두 점수가 모두 낮은 경우가 한 번이라도 있다면 그 사원은 인센티브를 받지 못합니다. 그렇지 않은 사원들에 대해서는 두 점수의 합이 높은 순으로 석차를 내어 석차에 따라 인센티브가 차등 지급됩니다. 이때, 두 점수의 합이 동일한 사원들은 동석차이며, 동석차의 수만큼 다음 석차는 건너 뜁니다. 예를 들어 점수의 합이 가장 큰 사원이 2명이라면 1등이 2명이고 2등 없이 다음 석차는 3등부터입니다.
각 사원의 근무 태도 점수와 동료 평가 점수 목록 scores이 주어졌을 때, 완호의 석차를 return 하도록 solution 함수를 완성해주세요.
풀이
![](https://blog.kakaocdn.net/dn/cjiQpH/btsCo55z6Bg/CKkM1AvQCtvg6Cy4nCjKZ0/img.png)
Code
def solution(scores):
# 1. 원호의 점수 합 구하기
wanho = scores[0]
wanho_summation = sum(scores[0])
# 2. 점수 목록 정렬
scores.sort(key = lambda x : [-x[0], x[1]])
# 3. 동료 평가 점수의 최댓값 변수 선언
max_score = 0
# 4.
answer = 1
for s1, s2 in scores :
# 4-1. 완호의 점수가 해당 점수보다 낮을 경우 -1 리턴
if wanho[0] < s1 and wanho[1] < s2 : return -1
# 4-2. 동료 평가 점수가 현재 최댓값보다 낮은 경우
if max_score <= s2 :
# 4-2-1. 최댓값 업데이트
max_score = s2
# 4-2-2. 점수의 합이 완호보다 높은 경우 카운팅
if s1 + s2 > wanho_summation : answer += 1
# 5. 결과 리턴
return answer
728x90
반응형
'Coding Test > Programmers' 카테고리의 다른 글
[Python/Programmers] 광물 캐기 (0) | 2024.01.22 |
---|---|
[Python/Programmers] 자물쇠와 열쇠 (1) | 2024.01.01 |
[Python/Programmers] [PCCP 기출문제] 2번 / 석유 시추 (1) | 2023.12.19 |
[Python/Programmers] 가장 긴 팰린드롬 (0) | 2023.12.13 |
[Python/Programmers] 불량 사용자 (1) | 2023.12.06 |