바로 이전 포스팅의 문제에 이어서 나온 문제라 쉽게 접근할 수 있다.
중요한 것은 i와 j의 공을 바꾸는 것
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken()); //바구니 N개
int m = Integer.parseInt(st.nextToken()); //공 M번 바꾸기
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = i+1;
}
for (int a = 0; a < m; a++) {
st = new StringTokenizer(br.readLine());
int i = Integer.parseInt(st.nextToken()); //i번 바구니랑
int j = Integer.parseInt(st.nextToken()); //j번 바구니공 교환
//공 위치 바꾸기
//바구니 번호랑 arr 의 index 번호 일치를 위해 -1 해주기
int change = arr[j-1];
arr[j-1] = arr[i-1];
arr[i-1] = change;
}
for (int result:arr) {
System.out.print(result+" ");
}
공 위치를 바꾸기 위해 int change
를 활용했다. 그 이외에는 딱히 어려운 코드는 아니다.