나의 풀이

function solution(arr) {
            let answer = [];
            let cnt = 0;
  
    for (let i = 0; i < arr.length; i++) {
                for (let j = 0; j < arr.length; j++) {
                    if (arr[j] > arr[i]) {
                        answer.push(cnt++)
                    }


                }
            }
            return answer;
        }
        let arr = [87, 89, 92, 100, 76];
        console.log(solution(arr));

 

문제 정답

 <script>
            function solution(arr){  
                let n=arr.length;
                let answer=Array.from({length:n}, ()=>1);
                for(let i=0; i<n; i++){
                    for(let j=0; j<n; j++){
                        if(arr[j]>arr[i]) answer[i]++;
                    }
                }             
                return answer;
            }

            let arr=[87, 89, 92, 100, 76];
            console.log(solution(arr));
 </script>

 

해결 포인트1)
우선 정답 풀이처럼 처음 배열에 [1,1,1,1,1] 이렇게 초기화하기위해서 arr의 길이만큼 그리고 () =>1 을통해 1로 초기화 해주는것이 포인트


'코딩테스트 > JavaScript' 카테고리의 다른 글

[코딩테스트] 봉우리  (4) 2023.12.22
[코딩테스트] 격자판 최대합  (2) 2023.12.22
[코딩테스트] 점수 계산  (0) 2023.12.19
[코딩테스트] 가위 바위 보  (2) 2023.12.19
[코딩테스트] 보이는 학생  (0) 2023.12.18

+ Recent posts