강의

멘토링

로드맵

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

오므라이스님의 프로필 이미지
오므라이스

작성한 질문수

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

1. 선택정렬

idx를 선언해줘야 하는 이유..

작성

·

310

4

안녕하세요?

idx를 선언해줘야 하는 이유가 모르겠어요..

idx를 생략하고 이렇게 코드를 짜면 안되나요?

퀴즈

66%나 틀려요. 한번 도전해보세요!

선택 정렬 알고리즘의 핵심 과정은 무엇일까요?

인접한 두 요소를 비교하여 순서가 맞지 않으면 교환합니다.

정렬되지 않은 부분에서 가장 작은 값을 찾아 정렬된 부분의 올바른 위치로 옮깁니다.

배열을 반으로 나누고 각 부분을 재귀적으로 정렬한 후 병합합니다.

하나의 요소를 정렬된 하위 배열의 올바른 위치에 삽입합니다.

답변 1

4

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

안녕하세요^^

위에 코드 같은 경우 j for문이 돌면서 arr[j]<arr[i]가 참일경우 매번 arr[i]와 arr[j]의 값을 교환합니다.

idx를 쓰는 영상의 방법은 j for문이 끝나고 나서 한 번 두 값의 교환을 합니다. 

즉 idx를 쓰는 이유는 두 값의 교환 횟수를 최소화하기 위해서입니다.

오므라이스님의 프로필 이미지
오므라이스

작성한 질문수

질문하기