본문 바로가기
프로그래밍/백준 알고리즘 코드

[백준] 10813번 JAVA - 공 바꾸기 (1차원 배열)

by 졸린이 2023. 6. 20.
반응형

1 부터 n 까지 바구니가 있고 각 바구니에는 1 부터 n 번의 공이 들어있다.

이 공을 m번 교환하는데 i 바구니와 j 바구니를 바꾸기로 한다.

프로그래밍에서 두 변수의 값을 바꿀때는 임시변수(tmp)를 생성해서 거기에 값을 넣고 교환하는 방식으로 한다.

tmp = i;

i =j;

j = tmp;

이렇게 해서 출력만 하면 간단하다.

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
import java.util.Scanner;
 
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(); //바구니 개수
        int m = sc.nextInt(); //공 교환 횟수
        
        int arr[] = new int[n + 1]; // 바구니
       
        for(int i=1; i<=n; i++) {
            arr[i] = i; //바구니 공 초기화
        }
        
        for(int k=0; k<m; k++) { //m번 공 교환
            int i = sc.nextInt();
            int j = sc.nextInt();
            int tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
        }
        
        for(int i=1; i<=n; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}
cs
반응형

댓글