[프로그래머스 / C++] 배열 만들기 5

YH·2023년 11월 26일
0

문제

배열 만들기 5 : 문제 링크


문제 분석

  • 문자열 배열 intStrs와 정수 k, s, l가 주어진다. intStrs의 원소는 숫자로 이루어져 있다. 배열 intStrs의 각 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라내 정수로 변환한다. 이때 변환한 정수값이 k보다 큰 값들을 담은 배열을 return
  • 정수값이 k보다 큰 값들을 담을 배열 answer을 초기화. for loop를 통해 intStrs의 첫번째부터 마지막까지 순환하고, substr() 함수를 사용하여 intStrs 문자열의 s번 인덱스부터 l짜리 문자열을 stoi() 함수로 정수화. if문을 통해 그 정수가 k보다 큰 값이라면 answer에 저장. 최종적으로 저장된 answer을 return

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<int> solution(vector<string> intStrs, int k, int s, int l) {
    vector<int> answer;
    
    for(int i = 0; i < intStrs.size(); ++i) { 
        if(stoi(intStrs[i].substr(s, l)) > k) answer.push_back(stoi(intStrs[i].substr(s, l)));
    }
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글