알고리즘공부

프로그래머스 Lv0 - 수열과 구간 쿼리 3

jonghyeon6084 2024. 3. 18. 16:22
728x90

1. 문제 설명

 - 정수 배열 arr 와 2차원 정수 배열 queries 이 주어집니다. queries 의 원소는 각각 하나의 query 를 나타내며, [i, j] 꼴입니다. 각 query 마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다. 위 규칙에 따라 queries 를 처리한 이후의 arr 를 return 하는 함수를 완성해 주세요.

2. 제한사항

  • 1 <= arr 의 길이 <= 1,000
    • 0 <= arr 의 원소 <= 1,000,000
  • 1 <= queries 의 길이 <= 1,000
    • 0 <= i < j < arr 의 길이

3. 입출력 예

 

처음 이 문제를 봤을 때 어떻게 코드를 짜야할지 생각이 안나서 찾아보던 중 순서를 바꿀땐 하나의 변수를 두어 그것을 이용해서 순서를 바꾸면 된다는 게 생각이 나서 풀어보았다.

4. 내가 작성한 코드

class Solution {
    public int[] solution(int[] arr, int[][] queries) {
        for(int i = 0; i < queries.length; i++){
            int e = arr[queries[i][0]];
            arr[queries[i][0]] = arr[queries[i][1]];
            arr[queries[i][1]] = e;
        }
        return arr;
    }
}