반응형

문제에 나와있는대로 

1. 첫 번째 조각의 수가 두 번째 수보다 크다면, 둘의 위치를 서로 바꾼다.

2. 두 번째 조각의 수가 세 번째 수보다 크다면, 둘의 위치를 서로 바꾼다.

3. 세 번째 조각의 수가 네 번째 수보다 크다면, 둘의 위치를 서로 바꾼다.

4. 네 번째 조각의 수가 다섯 번째 수보다 크다면, 둘의 위치를 서로 바꾼다.

5. 만약 순서가 1, 2, 3, 4, 5 순서가 아니라면 1 단계로 다시 간다.

의 규칙대로 진행해주면 된다.

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import java.io.FileInputStream;
import java.util.*;
 
public class Main {
    public static void main(String args[]) throws Exception {
        // Scanner sc = new Scanner(System.in);
        Scanner sc = new Scanner(new FileInputStream("input.txt"));
 
        int[] arr = new int[5];
        int[] answer = new int[5];
 
        for (int i = 0; i < 5; i++) {
            arr[i] = sc.nextInt();
        }
 
        while (check(arr)) {
            // 1vs2, 2vs3, 3vs4, 4vs5 비교
            for (int x = 0; x <= 3; x++) {
                // 앞의 숫자가 크고 정렬되지 않았다면 swap한다.
                if (compare(arr, x, x + 1&& check(arr)) {
                    swap(arr, x, x + 1);
                    print(arr);
                }
            }
        }
 
    }
 
    // x번째와 y번째 값 바꾸기
    public static void swap(int[] arr, int x, int y) {
        int swap;
        swap = arr[x];
        arr[x] = arr[y];
        arr[y] = swap;
    }
 
    // x번째와 y번째 값 비교하기
    public static boolean compare(int[] arr, int x, int y) {
        if (arr[x] > arr[y]) {
            return true;
        }
        return false;
    }
 
    // 나무조각 5개이기 때문에 1,2,3,4,5 로 정렬됐는지 체크
    public static boolean check(int[] arr) {
        boolean flags = false;
        for (int i = 0; i < 5; i++) {
            if (arr[i] != (i + 1)) {
                flags = true;
                break;
            }
        }
        return flags;
    }
    //출력문
    public static void print(int[] arr) {
        for (int i = 0; i < 5; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
 
    }
}
 
cs


반응형

+ Recent posts