💻 문제


일단 이해하자🤔
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();
}
}
💡 결과
