반응형
답
#include <string>
#include <vector>
using namespace std;
string solution(vector<string> my_strings, vector<vector<int>> parts) {
string answer = "";
for(int i=0;i<my_strings.size();i++){
answer+=my_strings[i].substr(parts[i][0],parts[i][1]-parts[i][0]+1);
}
return answer;
}
string answer을 만들어준다.
my_strings의 크기만큼 for문을 돌려준다.
answer에 mystrings[i]번쨰 ㅁ누자열에서 parts[i][0]번째부터 parts[i][1]까지 문자열을 더해준다.
자세히 설명하자면
substr을 사용한 것이다.
str.substr(a,b);
이런 형태로 사용하는 것인데
문자열 str에서 a부터 b만큼의 값을 반환해준다.
예를들어
문자열(str)
|
a
|
b
|
반환하는 값
|
programming
|
5
|
3
|
amm
|
이렇게 문자열에서 a번쨰 문자부터 3개를 반환해준다.
그리고
substr(parts[i][0],parts[i][1]-parts[i][0]+1);
이렇게 표현한 이유는 parts에 값은 반환해야할 부분의 위를 알려주기 때문에
뒷부붑ㄴ을 parts[i][1]으로 쓰면 안된다.
그래서
나중 위치에서 처음 위치를 빼고 1을 더해서
parts[i][0]부터 parts[i][1]의 까지문자를 반환할수 있게 하였다.
참고
아래 문제어서도 substr을 사용했다.
[프로그래머스] 문자열의 뒤의 n글자(c++)
https://school.programmers.co.kr/learn/courses/30/lessons/181910 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞
iloveprogramming.tistory.com
끝
반응형
'c++ > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 문자열 출력하기(c++) (0) | 2023.12.25 |
---|---|
[프로그래머스] 9로 나눈 나머지(c++) (0) | 2023.12.25 |
[프로그래머스] 수열과 구간 쿼리 3(c++) (0) | 2023.12.25 |
[프로그래머스] 수열과 구간 쿼리2(c++) (0) | 2023.12.25 |
[프로그래머스] 수열과 구간 쿼리 4(c++) (0) | 2023.12.25 |