인프런 커뮤니티 질문&답변
풀이 검토 부탁드립니다.
작성
·
206
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입니다.






답변 감사합니다 :)