출처: 인프런
function solution(arr){
const len = arr.length;
// arr.length 길이의 배열을 초깃값 1로 세팅하여 초기에 생성.
const answer = Array.from({length:n},()=>1);
//한개의 값이 고정된 동안, 배열 전체의 값을 순회하면서 고정값과의 크기비교.
//고정값보다 비굣값의 크기가 클때마다(점수가 높은 사람이 발견될 때마다)
// answer 배열의 해당 idx값(=고정값의 idx)이 1씩 증가한다.
for(let i=0; i<len; i++) {
for(let j=0;j<len; j++){
if(arr[i]<arr[j]){
anwer[i]++;
}
}
}
return answer;
}
let arr=[87, 89, 92, 100, 76];
console.log(solution(arr));
//my sol
//두번째 풀이에서는 초기 array를 1로 세팅하지 않고, 한번의 순회가 끝날때마다 도출된 결괏값을 빈 arr 에 push 하는 방식으로 구현했다.
function solution(arr){
let n=arr.length;
let array= [];
for(let i=0; i<n; i++){
//초깃값을 1로 리셋함
let num = 1;
for(let j=0; j<n; j++){
if(arr[j]>arr[i])
//한개의 값이 고정된 동안, 배열 전체의 값을 순회하면서 고정값과의 크기비교.
//고정값보다 비굣값의 크기가 클때마다(점수가 높은 사람이 발견될 때마다) num이 1씩 증가한다.
num++;
}
array.push(num)
}
return array;
}
let arr=[87, 89, 92, 100, 76];
console.log(solution(arr));