<선택정렬>
: N개의 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성한다. 정렬하는 방법은 선택정렬이다.
- 먼저 선택정렬이란 가장 작은 데이터를 찾아서 가장 앞에 있는 데이터와 교환해 나가는 방식이다.
- 정리하면 중첩 for문을 돌리는데, 외부 for문이 가장 앞에 있는 데이터고, 내부 for문이 가장 작은 데이터를 찾는 거라고 생각하면 될 거 같다. 그리하여 내부 for문에서 가장 작은 데이터를 찾은 후 맨 앞에 있는 데이터와 자리를 변경하면 됨. idx는 그저 나중에 자리를 교환할 때 쓸 용도에 불과한 거 같다.
<script> function solution(arr){ let answer = arr; for(let i = 0; i < arr.length; i ++){ let idx=i; //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)); </script>