해결방법
버블 정렬의 일종이라고 생각하면 쉽게 풀 수 있다.
맨 앞에서부터 바로 옆의 숫자와 비교하고 교환하는 식으로 생각하면 편하다.
정답 코드
#include <iostream>
using namespace std;
void printArray(int arr[], int size)
{
for (int i = 0; i < size; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
int main()
{
int arr[5];
for (int i = 0; i < 5; i++)
{
cin >> arr[i];
}
while (true)
{
bool Swap = false;
for (int i = 0; i < 4; i++)
{
if (arr[i] > arr[i + 1])
{
swap(arr[i], arr[i + 1]);
Swap = true;
printArray(arr, 5);
}
}
if (!Swap)
{
break;
}
}
return 0;
}
'코딩테스트' 카테고리의 다른 글
BOJ - 행렬 곱셈 2740 (0) | 2024.11.25 |
---|---|
BOJ - 연도 진행바 1340 (0) | 2024.11.23 |
BOJ - TV 크기 1297 (0) | 2024.11.21 |
BOJ - 종이접기 16504 (0) | 2024.11.21 |
BOJ - 미국 스타일 2712 (0) | 2024.11.20 |