알고리즘/프로그래머스 1단계

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

게임만드는학생 2023. 8. 27. 20:34

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

 

프로그래머스

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

programmers.co.kr

 

#include <string>
#include <vector>

using namespace std;

vector<string> solution(string my_str, int n) {
    vector<string> answer;
    string im="";
    for(int i=0;i<my_str.length();i++)
    {
        if(i%n==0&&i/n>=1)
        {
            answer.push_back(im);
            im="";
        }
        im+=my_str[i];
    }
    answer.push_back(im);
    
        
    return answer;
}

 

설명

my_str 문자열을 n 크기만큼 자른 문자열을 answer 벡터에 저장하면 된다.

따라서 for문을 돌면서 n을 i 로 나눴을 때 나머지가 0이면 im을 answer에 저장한다.

이 때, im 문자열은 임시로 my_str 문자열을 저장한 것이다. 

if 문에서 i/n >= 1 조건은 처음엔 i가 0일때도 i%n 조건이 만족되어서 빈 문자열이 들어가기 때문에

추가된 조건이다.