[백준][C++] 2752번 세수정렬
세수정렬
문제 링크
분석
입력으로 정수 세 개가 공백을 사이에 두고 주어집니다.
세 개의 정수를 순서대로 가장 작은 수, 그 다음 수, 가장 큰 수를 공백을 사이에 두고 출력하면 됩니다.
풀이
#include <iostream>
using namespace std;
int arr[3];
// 버블 정렬
void bubbleSort()
{
int tmp;
for (int i = 0; i < 3; i++)
{
for (int j = i + 1; j < 3; j++)
{
if (arr[i] > arr[j])
{
tmp = arr[j];
arr[j] = arr[i];
arr[i] = tmp;
}
}
}
}
int main()
{
for (int i = 0; i < 3; i++)
{
cin >> arr[i];
}
bubbleSort();
for (int i = 0; i < 3; i++)
{
cout << arr[i] << ' ';
}
return 0;
}
성능 요약
시간 복잡도는 상수 시간에 끝나기 때문에 $O(1)$입니다.
- 버블 정렬 $O(n^{2}) \approx O(3^{2}) \approx O(1)$
- 입력의 크기가 $3$로 고정돼있기 때문에 $O(1)$이 됩니다.
공간 복잡도는 고정된 크기의 상수 공간을 사용하기 때문에 $O(1)$입니다.
메모리: 2020 KB
시간: 0 ms
댓글남기기