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
'FrontEnd > 프로그래머스' 카테고리의 다른 글
[JS] 표 병합 (1) | 2023.10.16 |
---|---|
[JS] 표현 가능한 이진트리 (0) | 2023.10.14 |
[JS] 연속 펄스 부분 수열의 합 (0) | 2023.10.10 |
[JS] 아방가르드 타일링 (0) | 2023.10.09 |
[JS] 상담원 인원 (0) | 2023.10.07 |