블로그 이전, 2023. 4. 29. 19:47 에 작성했던 글입니다.

1.풀이방법
바구니 = 배열 , 공=배열 요소인데 인덱스 +1 하면 쉽게 초기화 가능하다.
공 바꾸기 = temp 이용해서 바꾸면 된다.
temp=basket[i-1];
basket[i-1]=basket[j-1];
basket[j-1]=temp;
이때 주의해야할 점: 공은 인덱스 +1한 것이다. 실제로 바꿀 때는 인덱스를 이용해서 바꾸니까 인덱스를 이용하기 위해서 공(인덱스+1)에서 -1 해야한다. 안 그러면 배열 길이보다 많은 인덱스를 쓰니까 런타임에러가 발생한다.
그리고 공 바꾸는 과정에서 StringTokenizer 계속 불러야한다. 그래야 하나의 문자열 분리하고 후에 토큰을 갖고 올 수 있다.
2.해당 코드
import java.io.*;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n=Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[] basket = new int[n];
for(int i=0; i<n; i++){
basket[i]=i+1;
}
for(int k=0; k<m; k++){
int temp=0;
st=new StringTokenizer(br.readLine());
int i=Integer.parseInt(st.nextToken());
int j=Integer.parseInt(st.nextToken());
temp=basket[i-1];
basket[i-1]=basket[j-1];
basket[j-1]=temp;
}
for(int i=0; i<n; i++){
bw.write(basket[i]+" ");
}
br.close();
bw.flush();
bw.close();
}
}
'알고리즘 리뷰' 카테고리의 다른 글
| 백준 JAVA 10810 공 넣기 리뷰 (0) | 2023.08.29 |
|---|---|
| 백준 JAVA 10811 바구니 뒤집기 리뷰 (0) | 2023.08.29 |
| 백준 JAVA 3009 네 번째 점 리뷰 (0) | 2023.08.29 |
| 백준 JAVA 11943 파일 옮기기 리뷰 (0) | 2023.08.29 |
| JAVA 백준 15552 빠른 A+B 리뷰 (0) | 2023.08.29 |