[백준] 10813번 공 바꾸기

Drumj·2023년 3월 7일
0

문제

바로 이전 포스팅의 문제에 이어서 나온 문제라 쉽게 접근할 수 있다.

중요한 것은 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 를 활용했다. 그 이외에는 딱히 어려운 코드는 아니다.

0개의 댓글