티스토리 뷰
728x90
https://www.acmicpc.net/problem/2947
2947번: 나무 조각
첫째 줄에 조각에 쓰여 있는 수가 순서대로 주어진다. 숫자는 1보다 크거나 같고, 5보다 작거나 같으며, 중복되지 않는다. 처음 순서는 1, 2, 3, 4, 5가 아니다.
www.acmicpc.net
버블정렬을 이용하여 구현을 해야합니다.
버블정렬은 이중 for문을 이용해서 구현합니다.
for i in range{ # 1
for j in range { # 2
if array[j] > array[j+1]
swap(array[j], array[j+1])
}
}
이 때, 2번째 for문을 다 수행한 후 값들을 출력한다면,
하나씩 변경된 값들을 출력하길 원하는 해당 문제의 출력 양식에 맞지 않게 결과가 나옵니다.
따라서 if 문 구절이 수행될 때 그 안에 for 문을 하나 더 입력하여 값들을 출력해야 제대로된 결과값이 출력됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int arr[] = new int[5];
for (int i = 0; i < 5; i++) {
arr[i] = sc.nextInt();
}
sc.close();
boolean chk = true;
while (chk) {
chk = false;
for (int i = 0; i < 4; i++) {
if (arr[i] > arr[i + 1]) {
chk = true;
int tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
for (int j = 0; j < 5; j++) {
sb.append(arr[j] + " ");
}
sb.append("\n");
}
}
}
System.out.println(sb);
}
}
|
cs |

'코딩 > 자바 백준' 카테고리의 다른 글
백준 1439 뒤집기 (JAVA) (0) | 2021.09.02 |
---|---|
백준 1913 달팽이 (JAVA) (0) | 2021.09.01 |
백준 16395 파스칼의 삼각형(JAVA) (0) | 2021.08.31 |
백준 17478 재귀함수가 뭔가요? (JAVA) (0) | 2021.08.31 |
백준 11652 카드 (JAVA) (0) | 2021.08.30 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준 1351 파이썬
- 백준 2491 파이썬
- 백준 20362
- 백준 12788
- 백준 2075
- 백준 9205
- 백준 4446 파이썬
- 백준 6593 파이썬
- 백준 12034 파이썬
- 백준 4446
- 백준 1351
- 백준 2304
- 백준 2075 파이썬
- 백준 12034
- 백준 12788 파이썬
- 백준 9205 파이썬
- 백준 1916 파이썬
- 백준 11123
- 백준 13335 파이썬
- 백준 1504 파이썬
- 백준 6593
- 백준 20362 파이썬
- 백준 10825
- 백준 10825 파이썬
- 백준 13335
- 백준 23253
- 백준 11123 파이썬
- 백준 23253 파이썬
- 백준 1916
- 백준 2304 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함