You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
점수 배열 scores를 근무 태도 점수는 내림차순으로, 근무 태도 점수가 같다면 동료 평가 점수는 오름차순으로 정렬시킨다.
완호의 점수가 다른 사원들의 두 점수와 비교하여 모두 낮은 경우가 있다면 바로 -1을 리턴하여 완호가 인센티브를 받을 수 없음을 리턴한다.
근무 태도 점수는 내림차순으로 내려가므로 만일 임의의 사원의 동료 점수가 max값보다 작다면 두 점수 모두 낮다는 것을 의미하므로
만일 임의의 사원의 동료 점수가 max값보다 작다면 두 점수 모두 낮으므로 rank를 올리지 않고, max값도 갱신하지 않는다
만일 임의의 사원의 동료 점수가 max값보다 크거나 같다면
임의의 사원의 점수 합과 완호의 점수 합을 비교해서 완호보다 더 높다면 상위에 위치한 것이므로 rank + 1을 해준다.
동료 점수 max값을 갱신한다
💬 풀이
import Foundation
func solution(scores:[[Int]])->Int{letwanhoScore=scores[0]letsum=wanhoScore[0]+ wanhoScore[1]letscoreArr= scores.sorted(by:{$0[0]>$1[0] || ($0[0]==$1[0] && $0[1]<$1[1])})varrank=1varcolleagueScoreMax=0
for i in scoreArr {// 완호가 인센티브를 받지 못하는 경우
if wanhoScore[0]<i[0] && wanhoScore[1]<i[1]{return-1}// 0번은 내림차순으로 내려가므로 1번 점수가(동료점수) 크거나 같을 경우에만 두 점수가 모두 낮지 않음을 의미함
if colleagueScoreMax <=i[1]{// 완호의 점수보다 더 높다면 상위에 위치한 것이므로 rank + 1
if sum <i[0]+ i[1]{
rank +=1}
colleagueScoreMax =i[1]}}return rank
}
The text was updated successfully, but these errors were encountered:
💬 문제
https://school.programmers.co.kr/learn/courses/30/lessons/152995
💬 Idea
근무 태도 점수
는내림차순
으로 내려가므로 만일 임의의 사원의 동료 점수가 max값보다 작다면 두 점수 모두 낮다는 것을 의미하므로점수 합
과 완호의점수 합
을 비교해서 완호보다 더 높다면 상위에 위치한 것이므로 rank + 1을 해준다.동료 점수
max값을 갱신한다💬 풀이
The text was updated successfully, but these errors were encountered: