선택 정렬
N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 선택정렬입니다.
▣ 입력설명
첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다.
두 번째 줄에 N개의 자연수가 공백을 사이에 두고 입력됩니다. 각 자연수는 정수형 범위 안에 있습니다.
▣ 출력설명
오름차순으로 정렬된 수열을 출력합니다.
▣ 입력예제 1
6 13 5 11 7 23 15
▣ 출력예제 1
5 7 11 13 15 23
function solution(arr){
let answer=arr;
for (let i = 0; i < arr.length - 1; 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));
버블 정렬
N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 버블정렬입니다. ▣ 입력설명 첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다. 두 번째 줄에 N개의 자연수가 공백을 사이에 두고 입력됩니다. 각 자연수는 정수형 범위 안에 있습니다.
▣ 출력설명
오름차순으로 정렬된 수열을 출력합니다.
▣ 입력예제 1
6 13 5 11 7 23 15
▣ 출력예제 1
5 7 11 13 15 23
function solution(arr){
let answer=arr;
for (let i = 0; i < arr.length - 1; i++) {
for (let j = i; j < arr.length - i - 1; j++) {
if (arr[j+1] < arr[j]) [arr[j+1], arr[j]] = [arr[j], arr[j+1]]
}
}
return answer;
}
let arr=[13, 5, 11, 7, 23, 15];
console.log(solution(arr));
'알고리즘 풀이' 카테고리의 다른 글
[20211128]알고리즘 풀 (0) | 2021.11.28 |
---|---|
[20211124]알고리즘 풀이 (0) | 2021.11.24 |
[20211121]알고리즘 풀이 (0) | 2021.11.21 |
[20211120]알고리즘 풀이 (0) | 2021.11.21 |
[20211116]알고리즘 풀이 (0) | 2021.11.16 |