개발/알고리즘 개념 정리

[알고리즘] 선택 정렬

hr0513 2025. 1. 22. 11:50
728x90
반응형

선택 정렬

주어진 리스트에서 가장 작은 요소를 찾아서 맨 앞의 요소와 교환하는 과정을 반복하여 정렬

 

 

코드 예시

function solution(arr) {
  let answer = arr;

  for (let i = 0; i < arr.length; i++) {
    let idx = i;

    for (let j = i + 1; j < arr.length; j++) {
      if (arr[j] < arr[idx]) {
        idx = j;
      }
    }

    [arr[i], arr[idx]] = [arr[idx], arr[i]];
  }

  return answer;
}

let arr = [13, 5, 11, 7, 23, 15];
console.log(solution(arr));

 

개념 문제

다음 자료에 대하여 선택 정렬(Selection Sort)을 이용하여 오름차순으로 정렬하고자 한다. 3회전 수행 결과는?

8, 3, 4, 9, 7

 

1회전: 3, 8, 4, 9, 7

2회전: 3, 4, 8, 9, 7

3회전: 3, 4, 7, 9, 8

728x90
반응형

'개발 > 알고리즘 개념 정리' 카테고리의 다른 글

[알고리즘] 이분 검색  (0) 2025.01.22
[알고리즘] 삽입 정렬  (0) 2025.01.22
[알고리즘] 버블 정렬  (0) 2025.01.22
[알고리즘] 스택 / 큐  (0) 2025.01.22