다른 풀이
361
작성한 질문수 28
강의 보기전에 혼자 풀어보았는데
저의 경우에는 미리 순위를 추출해서 result ㄹ라는 변수에 저장한뒤 for문을 돌려서 result 에 있는 순위를 비교해서 답을 내도록 했는데
혹시 틀렸거나 비효율적이라면 어떤 점이 문제인지 알려주시면 감사하겠습니다..!
function solution(test) {
let a = test.length,
b = test[0].length;
let result = Array.from({ length: b + 1 }, () => []); // [[], [], [], [], []]
let answer = 0;
for (let x of test) {
// [3,4,1,2]
for (let i = 0; i < b; i++) {
result[x[i]].push(i + 1);
}
}
for (let i = 1; i < b + 1; i++) {
// 0~4
for (let j = 1; j < b + 1; j++) {
// result[i] 랑 result[j] 비교
if (i === j) continue;
let isMento = true;
for (let n = 0; n < a; n++) {
if (result[i][n] <= result[j][n]) {
isMento = false;
break;
}
}
isMento && answer++;
}
}
return answer;
}
let arr = [
[3, 4, 1, 2],
[4, 3, 2, 1],
[3, 1, 4, 2],
];
console.log(solution(arr));
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
00님, 자바스크립트로 코딩 테스트 문제를 푸는 다양한 접근 방법이 있을 수 있습니다. 제공하신 풀이 방식은 문제 해결을 위한 독창적인 접근법 중 하나로 보이며, 특정 로직 상의 문제가 없다면 정답으로 인정될 수 있습니다. 효율성의 경우, 중첩 for 루프 사용으로 인해 시간 복잡도가 증가하는 점이 있을 수 있는데, 해당 알고리즘 문제의 크기와 요구사항에 따라 다를 수 있습니다.
제공하신 코드를 보았을 때, 멘토-멘티를 정하는 로직에서 중첩된 루프를 통해 각 학생들의 순위를 비교하고 있으며, 모든 경우에서 특정 학생이 다른 학생보다 순위가 앞선 경우에 answer를 증가시키는 방식으로 답을 도출하고 있습니다. 이 접근 방식은 멘토-멘티 관계를 찾기 위한 하나의 올바른 방법이 될 수 있습니다. 다만, 큰 입출력 데이터에 대해서는 더 최적화된 알고리즘이 있을 수 있으므로, 더 효율적인 방법이 있는지 늘 고민해볼 가치가 있습니다.
코드에 문법적인 오류나 명확한 논리적 오류가 없으므로, 제시한 방식도 충분히 유효한 풀이라고 볼 수 있습니다. 추후에 여러가지 다른 풀이 방식이나 최적화에 대해 더 배우고 싶으시다면 인프런의 다양한 자바스크립트 알고리즘 강의를 통해 추가 학습을 해보시기를 추천드립니다.
강의에 대한 추가 이해가 필요하거나 궁금한 점이 있으시다면 언제든지 질문해주시기 바랍니다.
continue를 사용하는 이유
0
79
2
정렬 가능 여부 판단하기
0
64
2
알고리즘 학습법 관련해서 질문드립니다.
0
86
1
코드 리뷰 부탁드립니다!
0
90
1
indexOf를 사용해서 풀어보았습니다 !!
0
68
1
저는 이런식으로 구현 해보았습니다 !!
0
64
1
12,13,14 강의 소리만 나오고 검은 화면입니다
0
100
3
반복문 최소화하고 indexOf 사용해서 풀어봤습니다
0
63
1
영상 보기 전에 직접 풀어봤습니다.
0
74
1
섹션1의 17번문제 이 풀이로 풀어도 될까요?
0
135
2
정규표현식으로 처리해도 상관없나요 ?
0
120
2
3칸씩 건너뛸 수 있을 경우
0
125
2
강의에 대해 질문있습니다.
0
135
2
Object와 Set을 이용해 풀어봤습니다.
0
117
2
이렇게 해도 되나요?
0
102
2
선생님 중복 단어나 중복관련 문제들은 set을 이용하면 좋을것 같습니다.
0
145
2
이렇게 풀어도 괜찮을까요?
0
138
1
이렇게 풀어도 괜찮을까요?
0
112
1
모든 아나그램 찾기에서 시간복잡도
0
98
1
코드리뷰 부탁드립니다.
0
130
1
for loop 탈출은 return 문으로 해도 되지 않나요?
0
133
1
투포인트알고리즘으로 풀어봤습니다.
0
142
0
코드 리뷰 부탁드립니다.
0
120
1
코드 맞게 작성한 거 아닌가여??
0
146
1





