본문 바로가기
c++/프로그래머스

[프로그래머스] 수열과 구간 쿼리 3(c++)

by ilp 2023. 12. 25.
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/181924

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr



#include <string>
#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;
}

int temp 를 만들어준다.

queries의 크기만큼 for문을 돌려준다.

temp에 arr[queries[i][0]]를 넣어준다.

그리고

arr[queries[i][0]]애 arr[queries[i][1]]를 넣어준다.

마지막으로

arr[queries[i][1]]에 temp값을 넣어준다.

이문제에서 사용한거는

두개의 값을 바꾸어주는 대표적인 방법이다.

예를들어

a
b
5
7

변수 a와 변수 b의 값을 바꾸고 싶으면

다른 변수 하나를 만들고 a와 b중하나를 다른 변수에 저장해두었다가

불러와서 바꾸어 줄 수 있다.

temp=a
a=b
b=temp

이러한 방식으로마이다.


반응형