문제 푼 날짜 : 2021-11-03
문제 링크 : https://www.acmicpc.net/problem/2947
문제를 처음 읽었을 때는 sorting 문제인 것은 알겠는데, 뭔가 설명이 어렵게 느껴졌다.
하지만, 문제에 주어진대로 수행하다 보면 버블 소트와 동일한 동작을 나타내는 것을 알 수 있었다.
따라서 버블 소트를 구현할 수 있다면 쉽게 풀 수 있는 문제였다.
// 백준 2947번 : 나무 조각
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
vector<int> v(5);
for (int i = 0; i < 5; i++) {
cin >> v[i];
}
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4 - i; j++) {
if (v[j] > v[j + 1]) {
int tmp = v[j + 1];
v[j + 1] = v[j];
v[j] = tmp;
for (int k = 0; k < 5; k++) {
cout << v[k] << ' ';
}
cout << '\n';
}
}
}
return 0;
}
C++ sort 함수만 쓰다가 오랜만에 정렬을 구현하려니 낯설었다.