앞으로 매일 꾸준히 코딩테스트를 진행하면서 단계를 높여가보자.
정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다.
각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다.
위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요.
1 ≤ arr의 길이 ≤ 1,000
- 0 ≤ arr의 원소 ≤ 1,000,000
1 ≤ queries의 길이 ≤ 1,000
- 0 ≤ i < j < arr의 길이

class Solution {
public int[] solution(int[] arr, int[][] queries) {
int temp = 0;
for (int i=0; i<queries.length; i++) {
int num1 = queries[i][0];
int num2 = queries[i][1];
temp = arr[num1];
arr[num1] = arr[num2];
arr[num2] = temp;
}
return arr;
}
}
1) 배열의 값을 교환할 때 임시로 값을 저장할 변수 temp를 선언
2) 반복문으로 queries 배열의 길이만큼 반복
3) 쿼리의 첫 번째 값과 두 번째 값을 각각 num1과 num2에 저장
4) temp를 사용하여 arr[num1]의 값을 임시 저장
5) arr[num2]의 값을 arr[num1]로 이동
6) temp에 저장된 값을 arr[num2]에 넣어서 값들을 서로 교환
7) 변경된 배열 arr 반환
예를 들어, 다음과 같은 2차원 배열을 생각해보자.
[[0, 1],
[1, 2],
[0, 2]]
이 배열은 3개의 행과 2개의 열로 이루어져 있다. 각 행은 대괄호로 묶여 있고, 각 행 안에는 요소들이 쉼표로 구분되어 있다. 총 3개의 행과 각 행마다 2개의 요소가 있다.
이 배열에서 [0, 1]은 첫 번째 행의 첫 번째 열과 두 번째 열에 위치한 값들을 나타내며, [1, 2]는 두 번째 행의 첫 번째 열과 두 번째 열에 위치한 값들을 나타낸다. 마지막으로 [0, 2]는 세 번째 행의 첫 번째 열과 두 번째 열에 위치한 값들을 나타낸다.
