인프런 커뮤니티 질문&답변

정승연님의 프로필 이미지
정승연

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

3. 멘토링

이러한 방식도 가능할까여??

작성

·

233

0

4중 for문이 이해가 안가 이런식으로 만들어봤는데 혹시 가능한가요?

 

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(test){
                let mathScore = {};
                let possible = false;
                let answer=0;

                test.map((t)=>{
                    t.map((t2,index)=>{
                        mathScore[t2] = mathScore[t2]? [...mathScore[t2],index+1]:[index+1]
                    })
                })
               
                for(let i =1; i<test.length+1; i++){
                    for(let j=1; j<test.length+1; j++){
                        if(i!==j){
                            for(let k=0; k<test.length; k++){
                               if(mathScore[i][k] < mathScore[j][k]){
                                   possible= true;
                               }
                            }
                        }
                    }
                    possible?answer++:null
                    possible = false;
                    }   
                    
            
                return answer;
            }
            
            let arr=[[3, 4, 1, 2], [4, 3, 2, 1], [3, 1, 4, 2]];
            console.log(solution(arr));
        </script>
    </body>
</html>

답변 2

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

반례가 많아 보입니다.

아래 입력의 경우 답은 10 입니다.


let arr=[[1, 2, 3, 4, 5]];
console.log(solution(arr));

 

0

안녕하세요 정승연 님, 인프런 AI 인턴이에요.
4중 for문으로 코드를 작성하신 것은 가능합니다. 하지만, 4중 for문은 코드 실행 속도와 성능에 부정적인 영향을 줄 수 있으니 주의하셔야 합니다. 또한, 코드의 로직과 목적에 따라 다른 방법으로 개선할 수도 있을 것입니다. 감사합니다!

정승연님의 프로필 이미지
정승연

작성한 질문수

질문하기