대외교육/코딩테스트

[프로그래머스][C++][코딩기초트레이닝] 문자열 여러번 뒤집기

흑요석s 2023. 10. 3. 17:57

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

string solution(string my_string, vector<vector<int>> queries) {
    string answer = "";

    for (int i=0; i < queries.size(); i++){
        int a = queries[i][0];
        int b = queries[i][1];
        reverse(my_string.begin()+a,my_string.begin()+b+1);
    }
    return my_string;
}

 

 

  1. swap:
    • 두 요소의 값을 서로 교환합니다.
    • 예: swap(my_string[a], my_string[b]);는 my_string의 a번째 문자와 b번째 문자를 서로 교환합니다.
  2. reverse:
    • 지정된 범위 내의 요소들을 거꾸로 뒤집습니다.
    • 예: reverse(my_string.begin() + a, my_string.begin() + b + 1);는 my_string의 a번째 인덱스부터 b번째 인덱스까지의 부분 문자열을 뒤집습니다.

이 두 함수는 C++의 STL 라이브러리에서 제공되며, 각각의 용도에 맞게 사용됩니다.