문제
소스코드
#include<iostream>
constexpr int MAX_LIST = 3;
int main() {
int list[MAX_LIST], temp;
std::cin >> list[0] >> list[1] >> list[2];
for (int i = 0; i < MAX_LIST - 1; ++i) {
//왼쪽은 항상 자기보다 작은 수 이다.
for (int j = i; j >= 0; --j) {
if (list[j] > list[j + 1]) {
temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
for (auto i : list) {
std::cout << i << " ";
}
}
후기
삽입 정렬을 사용하여 문제를 해결하였으며
2019/12/30 - [자료구조 알고리즘/기초 정렬 알고리즘] - 삽입 정렬(揷入整列, insertion sort)
O(N^2)정도의 시간 복잡도를 가지고도 풀 수 있는 문제이다.
출처 및 레퍼런스
문제 링크: https://www.acmicpc.net/problem/2752
'온라인 코딩 > 정렬(Sort)' 카테고리의 다른 글
[백준] 20920번 영단어 암기는 괴로워 (0) | 2021.02.22 |
---|---|
[백준] 2751번 수 정렬하기 2 (1) | 2020.01.10 |
[백준] 2750번 수 정렬하기 (1) | 2020.01.02 |