function solution(citations) {
//https://school.programmers.co.kr/learn/courses/30/lessons/42747#qna
// 1. 논문을 많이 인용된 순으로 정렬
// 2. index와 citations 두 숫자를 비교하며 내려갑니다.
// 3. 두 숫자가 같아지거나 citations가 index보다 더 작아지기 시작하는 직전의 숫자를 찾아냅니다
return citations.slice(0)
.sort((a,b)=> b - a)
.reduce((acc,cur,index,array)=> index < array[index] ? acc += 1 : acc,0)
}
프로그래머스 문제를 이해하기 너무 어려워서 위키피아 설명을 참조했습니다.
for문으로 break를 해야 불필요한 동작을 줄일수 있지만 짧게 표현하기위해 reduce를 이용했습니다.
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 스킬트리 (1) | 2022.09.18 |
---|---|
[프로그래머스] 타겟넘버 (0) | 2022.09.02 |
[프로그래머스] 영어 끝말잇기 (0) | 2022.08.25 |
[프로그래머스] 기능개발 (0) | 2022.08.25 |
[프로그래머스] 체육복 (0) | 2022.08.23 |
Comment