알고리즘

백준 알고리즘 10813번: 공 바꾸기 - JAVA

zumsim 2024. 4. 26. 23:25
728x90
반응형

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

 

10813번: 공 바꾸기

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

www.acmicpc.net

 

https://zumsim.tistory.com/76

 

백준 알고리즘 10810번: 공 넣기 - JAVA

https://www.acmicpc.net/problem/10810 10810번: 공 넣기도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많

zumsim.tistory.com

 

최근에 올린 10810번 공 넣기와 기본적인 틀은 크게 다르지 않은 것 같아 금방 풀었다.

참고 할 수 있도록 함께 게시해두겠습니다.

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int tot = sc.nextInt();
        int cnt = sc.nextInt();
        
        sc.nextLine();
        
        int[] arr = new int[tot];
        
        for(int i=0; i<arr.length; i++) {
            arr[i] = i+1;
        }
                
        for(int i=0; i<cnt; i++) {
            String [] temp = sc.nextLine().split(" ");
            
            int num1 = Integer.parseInt(temp[0]);
            int num2 = Integer.parseInt(temp[1]);
                
            int tmp = arr[num1-1];
                        
            if(num1 != num2) {
                arr[num1-1= arr[num2-1];
                arr[num2-1= tmp;
            }
        }
        
        for(int i=0; i<arr.length; i++) {
            if(i != arr.length) {
                System.out.print(arr[i]+" ");
            }else {
                System.out.print(arr[i]);
            }
        }
    }
}
cs
728x90
반응형