FrontEnd/프로그래머스
[JS] 인사고과
정_민_규
2023. 10. 12. 19:53
728x90
원호의 등수를 알고 싶다면 원호보다 인사고과를 잘 받은 사람들의 수를 세면 된다.
우선 두수의 합이 원호보다 큰 사람들을 가려낸 후, 그 사람들 사이에서 인사고과를 받을 수 없는 사람들을 제외하면 된다.
이게 가능한 이유는 자신보다 합이 적은 사람에 의해서는 인사고과를 받을 수 없기 때문이다.
a + b > c+ d 라면
a>c && b>d 일수 없기 때문
function solution(scores) {
const ary = []
const [wanhoA,wanhoB] = scores[0]
for (let i=0; i < scores.length ; i++){
const [a,b] = scores[i]
if (a+b > wanhoA+wanhoB) ary.push([a,b])
if (a> wanhoA && b > wanhoB) return -1
}
let ret = 1
outer : for (let i = 0 ; i < ary.length ; i++){
const [a,b] = ary[i]
for (let j = 0 ; j < ary.length ; j++){
const [tA,tB] = ary[j]
if (tA>a && tB > b) continue outer
}
ret+=1
}
return ret
}
728x90