[백준] 2947번 : 나무조각
문제 푼 날짜 : 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;
}
결과
// 백준 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 함수만 쓰다가 오랜만에 정렬을 구현하려니 낯설었다.
Author And Source
이 문제에 관하여([백준] 2947번 : 나무조각), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bestcoders/백준-2947번-나무조각저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)