인프런 커뮤니티 질문&답변
강사님 안녕하세요 이런 풀이는 어떤지 궁금해서 질문드립니다!
작성
·
238
4
function solution(arr) {
const answer = [];
// 원본 배열 복사
const copy = arr.slice();
// arr 을 정렬한다.
arr.sort((a, b) => b - a);
// 배열을 순회하면서 정렬된 배열중에서 원본 배열이 나온 가장 첫번째 인덱스를 가져온다. (인덱스는 0부터 시작하므로 +1을 해준다)
for (let i = 0; i < arr.length; i++) {
answer.push(arr.indexOf(copy[i]) + 1);
}
return answer;
}퀴즈
64%나 틀려요. 한번 도전해보세요!
배열을 순회하며 이전에 나온 모든 수보다 큰 수들의 개수를 효율적으로 세는 방법은 무엇일까요?
배열을 정렬한 후 앞에서부터 순서대로 센다.
현재까지 나타난 수들 중 최대값을 기록하며 순회한다.
각 수를 배열의 모든 다른 수와 비교하여 개수를 센다.
배열의 첫 번째 수만 확인하여 결정한다.





