inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

제주코딩베이스캠프 Code Festival: JavaScript 100제

[정렬] 병합정렬

병합정렬에서 질문드립니다.

267

Nosugar

작성한 질문수 12

0

그룹하나, 그룹둘의 재귀함수 마지막값이 undefined로 되어서 후에  while문안의 length를 읽어들일수가 없다는 에러메시지가 나옵니다. 어떤부분에서 제가 잘못하고 있는지 잘모르겠네요. 

////////////////////////////////////////////////////////////

function 병합정렬(입력배열) {
let 입력배열의길이 = 입력배열.length;
let 결과값 = [];
if (입력배열의길이 <= 1) {
return 입력배열;
}

let 중간값 = parseInt(입력배열의길이/2);
let 그룹하나 = 병합정렬(입력배열.slice(0, 중간값));
let 그룹둘 = 병합정렬(입력배열.slice(중간값));

console.log("그룹하나:", 그룹하나);
console.log("그룹둘:", 그룹둘);
while (그룹하나.length != 0 && 그룹둘.length != 0) {
if (그룹하나[0] < 그룹둘[0]) {
결과값.push(그룹하나.shift());
} else {
결과값.push(그룹둘.shift());
}
}

while (그룹하나.length != 0) {
결과값.push(그룹하나.shift());
}

while (그룹둘.length != 0) {
결과값.push(그룹둘.shift());
}

}

javascript 코테 준비 같이 해요!

답변 1

1

Caesiumy

재귀함수에는 return 값이 있어야 합니다. 함수의 마지막에 `return 결과값` 을 넣어서 결과를 리턴해주세요. 리턴으로 돌려주는 값이 없기에 undefined가 뜨는 겁니닷

71번 깊이 우선 탐색 질문드립니다.

0

201

1

이렇게 하는건 안좋은 방법일까요?

0

362

0

강의상 32번째 줄 질문드립니다

1

314

1

안녕하세요..!

0

437

0

1~100번 외의 자료에 대한 코드는 없을까요?

0

277

0

질문있습니다.

0

216

0

33번 문제 for문대신 join 사용

0

224

0

const, let

0

296

1

2진법 변환 문제 관해서 질문있습니다.

1

322

1

객체 식별자는 변수 또는 promt로 가지고 올수 없다는 건가요?

1

255

1

문자열이 둘다 숫자, 왜 가능해요?

1

239

1

20번 문제에 parseInt()로 10진수를 왜 하나요?

1

206

1

질문 있습니다.

0

219

0

문제 12번

1

207

1

선생님 이 포문이상한데요..

1

231

1

만약 1980년 1월1일 부터의 로직을 짜려면 코드 어느 부분을 수정해야할까요??

0

233

0

알고리즘 공부방법에 대해서 질문있습니다.

0

221

0

질문 드립니다!!

0

235

1

for 반복문 관련 문의

0

198

0

47번 문제 질문

0

242

1

행렬 곱에서 i,j,k를 len으로 통일시키면 2*3 3*2행열 계산이 안됨니다.

1

233

1

function문 호출하기 질문입니다~

0

221

0

8번) 점 접근자로 숫자 불가하네요!

0

155

0

선생님 궁금한점이있습니다.

3

167

0