https://www.acmicpc.net/problem/2947
1. 아이디어
버블 소트를 활용하면 간단하게 해결할 수 있다.
2. 문제풀이
나무 조각의 위치를 바꾸는 과정이 버블 소트와 동일하다. 버블 소트에서 스왑이 발생하면 스왑 후 조각들을 출력하면 되며 StringBuilder를 활용해서 한번에 출력하는 방식으로 구현했다.
3. 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
StringTokenizer st = new StringTokenizer(br.readLine());
int[] arr = new int[5];
for (int i = 0; i < 5; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4 - i; j++) {
if (arr[j] > arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
for (int n : arr) {
sb.append(n).append(" ");
}
sb.append("\n");
}
}
}
bw.write(sb.toString());
bw.flush();
}
}
4. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 10156번 - 과자 [Java] (0) | 2025.01.16 |
---|---|
[백준] 9325번 - 얼마? [Java] (0) | 2025.01.16 |
[백준] 2748번 - 피보나치 수 2 [Java] (0) | 2025.01.16 |
[백준] 5565번 - 영수증 [Java] (0) | 2025.01.16 |
[백준] 15439번 - 베라의 패션 [Java] (0) | 2025.01.16 |