[Java] 백준 10813번: 공 바꾸기

U·2023년 3월 12일

백준

목록 보기
23/116

💻 문제


일단 이해하자🤔

  • 10810번 공 넣기 문제와 비슷하지만 다른 점은 주머니의 숫자와 같은 공이 하나씩 들어있는 것이다.
  • int tmp를 선언하여 arr[i]arr[j]의 공을 바꾸는 중간 매개체 역할을 하도록 한다.

👀 풀이

import java.io.*;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st;

        String str = bfr.readLine();
        st = new StringTokenizer(str, " ");

        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());

        int arr[] = new int[N + 1];

        int i, j, tmp;

        for(int s = 1; s <= N; s++) {
            arr[s] = s;
        }

        for(int s = 0; s < M; s++) {
            String as = bfr.readLine();
            StringTokenizer stt = new StringTokenizer(as, " ");
            i = Integer.parseInt(stt.nextToken());
            j = Integer.parseInt(stt.nextToken());

            tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
        }

        for(int s = 1; s <= N; s++) {
            bfw.write(arr[s] + " ");
        }

        bfr.close();
        bfw.flush();
        bfw.close();
    }
}

💡 결과

profile
백엔드 개발자 연습생

0개의 댓글