코드 리뷰
229
작성한 질문수 28
안녕하세요 강의 듣기 전에 혼자서 풀어보았는데 다음 코드도 가능할까요 ?
function solution(s, arr) {
let answer = Array.from({ length: s }, () => 0);
for (let i = 0; i < arr.length; i++) {
let p = answer.indexOf(arr);
if (p > -1) {
let tmp = arr[i];
for (let j = p; j > 0; j--) {
answer[j] = answer[j - 1];
}
answer[0] = tmp;
} else {
for (let j = answer.length - 1; j >= 0; j--) {
if (answer[j] === 0 || j === answer.length - 1) continue;
let tmp = answer[j];
answer[j + 1] = tmp;
}
answer[0] = arr[i];
}
}
return answer;
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
00님, 코드 리뷰 관련 질문 감사합니다.
주어진 코드를 살펴보았을 때, solution 함수는 어떤 특정 알고리즘을 구현하려고 하는 것 같습니다만, 코드에 오류가 있어보입니다. 지정된 arr 값을 indexOf 메서드로 검색하는 대신 arr[i]를 사용해야 할 것 같습니다. 즉, let p = answer.indexOf(arr); 이 부분을 let p = answer.indexOf(arr[i]);로 수정해야 할 것입니다.
또한, else 블록에서 continue를 사용할 경우, let tmp = answer[j];에 이르기 전에 이미 반복문이 계속될 수 있습니다. 이는 배열의 재정렬로 이어지지 않고 예상치 못한 결과를 초래할 수 있습니다. 이 부분도 확인하실 필요가 있습니다.
수정된 코드는 다음과 같습니다.
function solution(s, arr) {
let answer = Array.from({ length: s }, () => 0);
for (let i = 0; i < arr.length; i++) {
let p = answer.indexOf(arr[i]); // 수정된 부분
if (p > -1) {
let tmp = arr[i];
for (let j = p; j > 0; j--) {
answer[j] = answer[j - 1];
}
answer[0] = tmp;
} else {
for (let j = answer.length - 1; j > 0; j--) { // 수정된 부분
answer[j] = answer[j - 1]; // 수정된 부분
}
answer[0] = arr[i];
}
}
return 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





