33.선택 정렬 - 정렬
Updated:
선택 정렬
🔍 문제
N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요.정렬하는 방법은 선택정렬입니다
🔹 입력설명
첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다.
두 번째 줄에 N개의 자연수가 공백을 사이에 두고 입력됩니다. 각 자연수는 정수형 범위 안에 있습니다.
🔹 출력 설명
오름차순으로 정렬된 수열을 출력합니다.
🔹 입력예제 1
6
13 5 11 7 23 15
🔹 출력 예제 1
5 7 11 13 15 23
📌 풀이
<head>
<meta charset="UTF-8" />
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr) {
let answer = arr; // arr 을 얕은 복사
for (let i = 0; i < arr.length; i++) {
let idx = i; // 최소값의 위치를 index 를 저장하는 idx
for (let j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[idx]) idx = j; // 탐색된 j 값을 idx 값과 비교해서 작으면 최소값이 j 가 되는것
}
[arr[i], arr[idx]] = [arr[idx], arr[i]]; // i 값 과 idx 값을 서로 바꿔주는 것
}
return answer;
}
let arr = [13, 5, 11, 7, 23, 15];
console.log(solution(arr));
</script>
</body>
Leave a comment