문제
배열 내 숫자의 순위를 입력 순서대로 출력하세요.
풀이
function solution(arr) {
let n = arr.length;
let answer = Array.from({ length: n }, () => 1); //1차원 배열 arr를 1로 초기화
for (let i = 0; i < n; i++) {
for (let j = 0; j < n; j++) {
//배열의 i번째와 배열 전체를 돌아가며 비교하기 위해 2중 for문 사용
if (arr[i] < arr[j]) answer[i]++;
//이번 턴에 비교중인 i가 j와 비교했을 때 작으면 순위가 밀리도록 배열 answer의 i번째를 누적.
}
}
return answer;
}
let arr = [87, 89, 92, 100, 76];
console.log(solution(arr));
Array.from
: 콜백함수 지정하지 않으면 undefined 원소를 가진다.
'Algorithm & 자료구조 > (인프런) 자바스크립트 알고리즘 문제풀이' 카테고리의 다른 글
[알고리즘]2차원 배열의 사방 탐색 (0) | 2022.01.31 |
---|---|
[알고리즘]격자판 최대 합 구하기 (0) | 2022.01.30 |
[알고리즘]중복 단어 제거 - 배열의 중복 제거 (filter, indexOf) (0) | 2022.01.27 |
[알고리즘] 중복 문자 제거 - indexOf, Set (0) | 2022.01.27 |
[알고리즘]대문자로 통일 (0) | 2022.01.25 |