본문 바로가기
Develop/프로그래머스 (Cpp)

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

by Tarra 2023. 2. 25.

잘라서 배열로 저장하기 / Lv.0


문제  설명 )

문자열 my_str n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.

 

 

 

제한 사항 )

  • 1 ≤ my_str의 길이 ≤ 100
  • 1 ≤ n  my_str의 길이
  • my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다.

 

 

 

입출력 예 )

 

 

입출력 예 설명 )

입출력 예 #1

  • "abc1Addfggg4556b" 를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return해야 합니다.

입출력 예 #2

  • "abcdef123" 를 길이 3씩 잘라 배열에 저장한 ["abc", "def", "123"]를 return해야 합니다.

 

 

유의사항 )

입출력 예 #1의 경우 "abc1Addfggg4556b"를 길이 6씩 자르면 "abc1Ad", "dfggg4" 두개와 마지막 "556b"가 남습니다. 이런 경우 남은 문자열을 그대로 배열에 저장합니다.

 

 

 

풀이)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <string>
#include <vector>
 
using namespace std;
 
vector<string> solution(string my_str, int n) {
    vector<string> answer;
 
    int temp = 0;
    int len = my_str.length();
    
    // 무한 반복
    while(1)
    {
        // 만약 temp가 my_str의 길이보다 커지면 break
        if(temp >= len) break;
        // substr은 문자가 끝나면 거기까지만 잘라준다.
        answer.push_back(my_str.substr(temp, n));
        temp+= n;
    }
    
    return answer;
}
cs

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120913

 

프로그래머스

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

programmers.co.kr