[백준] 2947번 : 나무조각

김개발·2021년 11월 4일
0

백준

목록 보기
69/75

문제 푼 날짜 : 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 함수만 쓰다가 오랜만에 정렬을 구현하려니 낯설었다.

profile
개발을 잘하고 싶은 사람

0개의 댓글