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

geuni님의 프로필 이미지
geuni

작성한 질문수

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

삽입정렬 질문입니다!

작성

·

279

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

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

안녕하세요^^

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

geuni님의 프로필 이미지
geuni

작성한 질문수

질문하기