문제
수열과 구간 쿼리 3 : 문제 링크
문제 분석
- 정수 배열 arr와 2차원 정수 배열 queries이 주어진다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴이다. 각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꾼다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return
- 두 원소의 값을 서로 바꾸기 위해 임시로 값을 저장할 정수형 변수 temp를 0으로 초기화. queries의 크기만큼 for loop를 순환하고, temp에 arr내 queries[i]의 0번째 인덱스의 값을 임시로 저장. 그 위치에는 arr내 quereis[i]의 1번째 인덱스의 값을 저장하고, arr내 quereis[i]의 1번째 인덱스에는 tempr값을 저장. 이런 방식으로 arr[i]와 arr[j]의 값을 서로 바꾸고, 최종적으로 저장된 arr를 return
풀이
#include <vector>
using namespace std;
vector<int> solution(vector<int> arr, vector<vector<int>> queries) {
int temp = 0;
for(int i = 0; i < queries.size(); ++i) {
temp = arr[queries[i][0]];
arr[queries[i][0]] = arr[queries[i][1]];
arr[queries[i][1]] = temp;
}
return arr;
}