본문 바로가기

컴퓨터/백준 알고리즘

백준 알고리즘 - 10813번: 공 바꾸기 [Java]

문제: https://www.acmicpc.net/problem/10813

 

10813번: 공 바꾸기

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

www.acmicpc.net

1. 코드

import java.util.*;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] arr = new int[sc.nextInt() + 1];
		for(int i = 0; i < arr.length; i++)
			arr[i] = i;
		int M = sc.nextInt();
		for(int i = 0; i < M; i++) {
			int left = sc.nextInt();
			int right = sc.nextInt();
			int temp = arr[left];
			arr[left] = arr[right];
			arr[right] = temp;
		}
		for(int i = 1; i < arr.length;i++)
			System.out.print(arr[i] + " ");
	}
}

2. 설명

1차원 배열에서 바구니의 값만 바꾸면 문제는 쉽게 해결됩니다.