• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

삽입정렬 질문드립니다!

21.07.30 11:52 작성 조회수 97

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를 한 번만 넣는것이 더 좋아보입니다.