🥕 문제 : 점수들을 받아와서, 등수를 구하자. (같은 등수 허용)
정답을 보기 앞서, 앞서 먼저 풀어봤을 때의 오류도 확인해보자.
function solution(arr){
let answer=[];
for(let i=0; i<arr.length; i++){
for(let j=0; j<arr.length; j++){
if(arr[j]>arr[i]) answer[i]++;
}
}
return answer;
}
let arr=[87, 89, 92, 100, 76];
console.log(solution(arr));
보다 싶이 숫자가 아닌 NaN이 노출되게 되는데, 아마도 배열들을 초기화하지 않은 상태에서 값을 넣어서 그런 것 같다.
📌 배열을 1로 다 초기화하기 위해서는?
1. Array.from()
function solution(arr){
let answer=Array.from({length:n}, ()=>1);
return answer;
}
2.Array()
function solution(arr){
let answer=Array(arr.length).fill(1);
return answer;
}
이런 방식들로, 배열들을 초기화시킬 수 있다.
📌문제해결
function solution(arr){
let answer=Array(arr.length).fill(1);
for(let i=0; i<arr.length; i++){
for(let j=0; j<arr.length; j++){
if(arr[j]>arr[i]) answer[i]++;
}
}
return answer;
}
let arr=[87, 89, 92, 100, 76];
console.log(solution(arr));
'📝 꾸준함이 무기 > Algorithm' 카테고리의 다른 글
[백준/Node.js] 10250 ACM 호텔 (0) | 2021.06.22 |
---|---|
[백준/Node.js] 4948 베르트랑 공준 (0) | 2021.06.16 |
[백준/Node.js] 2941 크로아티아 알파벳 (0) | 2021.06.15 |
[CT] 가장 짧은 문자거리 (0) | 2021.05.09 |
[CT] 격자판 최대합 (0) | 2021.05.06 |