인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

건강한 순록님의 프로필 이미지
건강한 순록

작성한 질문수

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

3. 멘토링

풀이 검토 부탁드립니다.

작성

·

182

0

<script>
function solution(test){
const m = {};
let ans = 0;

for(let i=0; i<test.length; i++) {
for(let j=0; j<test[i].length; j++) {
for(let k=j+1; k<test[i].length; k++) {
if(!m[`${test[i][j]}${test[i][k]}`]) m[`${test[i][j]}${test[i][k]}`] = 1;
else m[`${test[i][j]}${test[i][k]}`]++;
}
}
}

for(const x in m) {
if(m[x] === test.length) ans++;
}

return ans;
}
let arr=[[3, 4, 1, 2], [4, 3, 2, 1], [3, 1, 4, 2]];
console.log(solution(arr));
</script>

위와 같이 풀어봤는데 검토 부탁드려요.

맨 앞에서부터 1~N 등에 해당하는 학생 번호가 표시되어서
m이란 공간에 각 테스트 별로 가능한 경우의 수를 모두 찾고

모든 테스트가 끝난 시점에서 각 테스트 별로 발생가능한 경우의 수와 전체 테스트의 크기가 같은지 비교하는 로직으로 구현했는데 문제가 될만한 부분이 있을까요?

답변 1

0

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

안녕하세요^^

아래 입력을 가지고 제가 드린 소스코드로 출력해보고, 님이 짜신 코드로 출력해보면서 디버그해보세요.

20 2

19 15 4 17 12 18 6 3 11 14 1 8 13 9 2 20 5 16 10 7

5 20 18 17 14 11 19 3 10 16 6 8 13 9 2 12 4 7 1 15

답은 90입니다.

답변 감사합니다 :)

건강한 순록님의 프로필 이미지
건강한 순록

작성한 질문수

질문하기