inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

눈떠보니 코딩테스트 전날

병합정렬

call stack error

414

AEJEONG

작성한 질문수 2

0

똑같이 작성한것같은데 에러가 콜 스택 에러가 나는데 왜  그런걸까요 ...ㅠㅠ

function mergeSort(array){
let arrayLength = array.length;
let result = [];
if(arrayLength <= 1){
return array;
}

let mid = parseInt(array/2);
let firstGroup = mergeSort(array.slice(0,mid));
let secondGroup = mergeSort(array.slice(mid, ))

while(firstGroup.length != 0 && secondGroup.length !=0){
if(firstGroup[0]<secondGroup[0]){
    result.push(firstGroup.shift());
}else{
result.push(secondGroup.shift());
}
}

while(firstGroup.length != 0){
result.push(firstGroup.shift())
}

while(secondGroup.length != 0){
result.push(secondGroup.shift())
}

return result;
}

코테 준비 같이 해요!

답변 2

0

제주코딩베이스캠프

안녕하세요, AEJEONG님 :)
우선 답변이 늦어진 점 죄송합니다.

AEJEONG님께서 질문 주신 코드 내용을 확인해보니

let mid = parseInt(array/2);

중간값을 구하실 때 배열의 길이(arrayLength)를 2로 나누어야 하는데 배열(array)을 2로 나누어서 생기는 문제로 보입니다.

array/2 -> arrayLength/2 로 수정 후에도 문제가 발생하시거나 충분한 답변이 되지 않았다면 답글 부탁드립니다.
감사합니다. 😊

0

Choi SongA

저도 그래요. Shift로 값이 모두 제거되서 undefined 상태로 while문에 들어가는것같은데... 왜이러죠 /

4번문제 질문이요

0

351

0

코드 한번 봐주실수 있나요..? 이해가 안되서 그래요ㅡㅜㅜ

0

332

0

이렇게 해도되나요?

0

264

0

스택에서 pop 구현

2

321

0

주피터 노트북 공유 관련 질문 드립니다.

0

296

0

'Python으로 구현한 간단한 Tree' 강좌 실습 중 에러 관련 질문 드립니다.

0

251

1

문제3 - 섬으로 건너라 3:35 질문 있습니다.

0

260

0

Atom 실행 문의드립니다.

1

289

1

쥬피터 노트북 사용 문의

0

245

1

[긴급질문]노션접근권한..........

0

346

1

[긴급] code page 주소 만료로 접속이 안됩니다

0

394

1

20년1월1일 더하라고 하셧는데...

0

246

0

마지막 코드

0

292

1

영상 수정안된건가요?

0

251

0

깊이/너비 우선 탐색 관련 질문있습니다.

0

228

0

재귀함수4 - 재귀함수 보강예제

0

180

0

반복문에서의 변수생성과 변수의 값

1

260

1

파이선 idle질문입니다.

0

264

1

while문에서 len(돌의내구도) -1 왜 이게 맞나요?

0

239

1

javascript 수업 자료 질문 드려요

0

333

1

유레카 문제풀이

0

201

0

코드 질문

0

168

0

보너스 문제 : 문자열 파싱문제

0

267

0

1의 갯수를 구하는 문제 : filter를 사용하면 효율이 더 떨어질까요?

1

235

0