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

jadenswith님의 프로필 이미지
jadenswith

작성한 질문수

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

3. 멘토링

안녕하세요. 코드 리뷰 부탁드립니다.

작성

·

242

0

 
        function solution(test) {
            let answer = 0;
            let flag = 0;
            let m = test[0].length;
            let n = test.length;
         
// 첫번째 시험에서 도출되는 총 경우의 수
            for (let i = 1; i < m; i++) answer += i

            for (let i = 0; i < m - 1; i++) {
                for (let j = i + 1; j < m; j++) {
                    flag = 0;
                    for (let k = 1; k < n; k++) {
                        if (test[k].indexOf(test[0][i]) > test[k].indexOf(test[0][j])) {
                            flag = 1;
                            break;
                        }
                    }
                    if (flag) answer--;
                }
            }

            return answer;
      }

 

강사님께서 이 문제 관련하여 다른 분께 답변해주신 테스트케이스는 모두 통과하였습니다.

코드 설명드리자면, 첫번째 시험으로 도출되는 경우의 수를 구한 후 for문을 돌면서

이후 시험에서 역전되면 경우의 수를 차감해나가는 방식입니다. (중복 방지를 위해 break로 for문을 빠져나가도록 했습니다.)

귀찮으시겠지만 코드보시고 어떠한지 피드백 해주시면 정말 감사하겠습니다 :)

답변 1

0

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

안녕하세요^^

잘 하신 코드입니다.

jadenswith님의 프로필 이미지
jadenswith

작성한 질문수

질문하기