[프로그래머스 / C++] 잘라서 배열로 저장하기

YH·2023년 7월 17일
0

문제

잘라서 배열로 저장하기 : 문제 링크


문제 분석

  • 문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return
  • my_str 문자열 길이를 n으로 나눈 몫과 나머지를 각각 변수 q와 r에 저장
  • q는 for문 loop 반복 횟수로 사용, r이 0보다 클 경우에는 남은 문자열이 있음을 의미하므로 그것을 push_back하는데 사용
  • count는 문자열을 자르는 substr 함수에서 시작 index를 지정하기 위한 용도로 loop가 돌때마다 n만큼 커지도록 설정

substr() 함수 사용법
1. str.substr(n, m);
=> index n에서 시작하는 m개의 문자를 잘라서 string으로 return
2. str.substr(n);
=> index n에서 str 문자열의 마지막까지 잘라서 string으로 return


풀이

#include <string>
#include <vector>

using namespace std;

vector<string> solution(string my_str, int n) {
    vector<string> answer;
    int q = my_str.length() / n;
    int r = my_str.length() % n;
    int count = 0;
    
    for(int i = 0; i < q; i++) {
        answer.push_back(my_str.substr(count, n));
        count += n;
    }
    if(r > 0) answer.push_back(my_str.substr(count));
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글