• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

삽입정렬 질문입니다!

22.12.12 23:21 작성 조회수 191

0

function solution(arr) {
  let answer = arr;

  for (let i = 0; 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];
      } else {
        break;
      }
      arr[j] = temp;
    }
  }

  return answer;
}

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

강의에서 진행해주신 풀이방법과 유사합니다!

다만, let j;를 i for문내에서 선언해주지않고, j for문내에서 break되었을 때 다음 이터레이션으로 넘어가니, if ... else문 밖에 arr[j] = temp 해줘도 문제없다고 생각해서 이렇게 풀었습니다.

혹시 문제될 만한 부분이 있을까요,,,? 제가 잘못이해하고 있는건가요 ㅠㅠ?

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 문제없는 코드입니다.