우선 코드를 공유하기 앞서, 이런 유형의 문제는 반복문에서부터 매우 많이 풀었기에 많이들 쉽게 풀었으리라고 생각한다.
import java.io.*;
import java.util.*;
public class Step4_6 {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
StringTokenizer st = new StringTokenizer(br.readLine()," ");
int[] numArr = new int[Integer.parseInt(st.nextToken())]; // 바구니 수
int times = Integer.parseInt(st.nextToken()); // 반복할 횟수
for(int i = 0; i < numArr.length; i++) // 바구니를 초기화
numArr[i] = i+1;
for(int k = 0; k < times; k++) {
StringTokenizer st2 = new StringTokenizer(br.readLine()," ");
int i = Integer.parseInt(st2.nextToken());
int j = Integer.parseInt(st2.nextToken());
int tmp = numArr[i-1];
numArr[i-1] = numArr[j-1];
numArr[j-1] = tmp;
}
for(int i = 0; i < numArr.length; i++) {
System.out.print(numArr[i] + " ");
}
} catch(IOException ioe){
ioe.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
}
이거보다 더 쉽고 짧게 풀 수 있지만, 일부러 약간 길게 해봤다.
'알고리즘 분류 > Step4 1차원 배열' 카테고리의 다른 글
</Step4_8> 3052 나머지 JAVA (0) | 2023.03.23 |
---|---|
</Step4_7> 5597 과제 안 내신 분..? JAVA (0) | 2023.03.22 |
</Step4_5> 10810 공 넣기 JAVA (0) | 2023.03.19 |
</Step4_4> 2562 최댓값 JAVA (0) | 2023.03.18 |
</Step4_3> 10818 최소, 최대 JAVA (0) | 2023.03.17 |