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

[프로그래머스] 문자열 여러 번 뒤집기(c++)

by ilp 2023. 12. 23.
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/181913?language=cpp

 

프로그래머스

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

programmers.co.kr



#include <bits/stdc++.h>

using namespace std;

string solution(string my_string, vector<vector<int>> queries) {
    
    for(int i=0;i<queries.size();i++){
        reverse(my_string.begin()+queries[i][0],my_string.begin()+queries[i][1]+1);
    }
    
    return my_string;
}

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

reverse함수를 사용한다.  (reverse함수는 c++에서 string 문자열을 거꾸로 돌리는 함수이다.)

이 문제에선 reverse함수를 사용해서  queries[i][0]부분부터 queries[i][1]부분까지 거꾸로 돌리게 해서 풀었다.

 

 

참고

reverse 함수는

reverse(stringname.begin(),stringname.end());

보통 이렇게 쓴다.

시작부터 끝까지 뒤집을 수 있다.

 

만약 다른문제를 풀떄 이번 문제처럼 특정부분을 뒤집고 싶으면

reverse(stringname.begin()+a,stringname.begin()+b+1));

이런식으로 쓰면 a부터b까지를 stringname에서 뒤집을 수 있다.


반응형