인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

노강표님의 프로필 이미지
노강표

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

4. 삽입정렬

삽입정렬 질문드립니다!

작성

·

148

0

1. 풀이해주신 부분에서 else break; 문을 작성하기전에 

else {

arr[j+1] =tmp;

break;

}

로 처리해도 문제없는지 궁금합니다!

2.이런식으로 temp와 비교할떄마다 arr[j] = temp로 대입해주는건 비효율적인가요?

function solution(arr) {
let answer = arr;

for (let i = 1; i < arr.length; i++) {
let temp = arr[i];
for (let j = i - 1; j >= 0; j--) {
if (arr[j] > temp) {
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}

return answer;
}

let arr = [11, 7, 5, 6, 10, 9];
console.log(solution(arr));

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

1. 질문을 이해하지 못하겠습니다.

2. 매번 뒤로 당길때마다 j위치에 temp를 넣으니 비효율적으로 보입니다. 영상처럼 그냥 뒤로 당기고 break 한 후 temp를 한 번만 넣는것이 더 좋아보입니다.

노강표님의 프로필 이미지
노강표

작성한 질문수

질문하기