[백준] 10813번 공 바꾸기 Java 문제 풀이

2023. 3. 14. 12:05알고리즘/백준

728x90
반응형

문제풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

interface Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st;
        int[] param = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
        int N = param[0], M = param[1];
        int[] arr = new int[N];
        for(int i=0; i<N; i++) {
            arr[i] = i+1;
        }

        for(int i=0; i<M; i++) {
            int[] input = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
            int temp = arr[input[0]-1];
            arr[input[0]-1] = arr[input[1]-1];
            arr[input[1]-1] = temp;
        }

        for(int i=0; i<N; i++) {
            sb.append(arr[i] + " ");
        }
        System.out.print(sb);
    }
}

길이가 N인 배열의 값이 1부터 N까지이므로

배열 i에 위치하는 값은 i+1이 됩니다.

 

둘째 줄부터 입력받은 값에 해당하는 배열 값들을 서로 바꾼 뒤 배열 값을 출력해 주면 됩니다.

 

 

출처 : https://www.acmicpc.net/problem/10813

 

10813번: 공 바꾸기

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

www.acmicpc.net

 

728x90
반응형