코린이의 소소한 공부노트

[백준 온라인 저지] 10813. 공 바꾸기 본문

코딩테스트 풀이/JAVA

[백준 온라인 저지] 10813. 공 바꾸기

무지맘 2023. 3. 7. 16:56

// 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다.

- 입력: 첫째 줄에 N (1 N 100)M (1 M 100)이 주어진다.

둘째 줄부터 M개의 줄에 걸쳐서 공을 교환할 방법이 주어진다. 각 방법은 두 정수 i j로 이루어져 있으며, i번 바구니와 j번 바구니에 들어있는 공을 교환한다는 뜻이다. (1 i j N)

도현이는 입력으로 주어진 순서대로 공을 교환한다.

- 출력: 1번 바구니부터 N번 바구니에 들어있는 공의 번호를 공백으로 구분해 출력한다.

import java.io.*;
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));
        String[] line = br.readLine().split(" ");
        int[] basket = new int[Integer.valueOf(line[0])];
        for(int i=0 ; i<basket.length ; i++)
            basket[i] = i+1;
        for(int i=0 ; i<Integer.valueOf(line[1]) ; i++){
            String[] input = br.readLine().split(" ");
            int tmp = basket[Integer.valueOf(input[0])-1];
            basket[Integer.valueOf(input[0])-1] = basket[Integer.valueOf(input[1])-1];
            basket[Integer.valueOf(input[1])-1] = tmp;
        }
        for(int i=0; i<basket.length; i++)
            bw.write(basket[i]+" ");
        bw.flush();
        bw.close();
    }
}