#include <string>
#include <vector>
using namespace std;
int solution(string t, string p) {
int answer = 0;
int pLen= p.length(); //문자열 p의 길이
int tLen=t.length();
for (int i=0; i<tLen-pLen+1; i++)
{
string part= t.substr(i,pLen);
long partN=stol(part);
long pN=stol(p);
if (partN<=pN)
{
answer++;
}
}
return answer;
}
substr이랑 stoi 다루는 법 제대로 알아두는 데 도움이 됐다.
접근은 쉽게 했는데 strcpy를 쓰려다가 그러면 부분문자열을 part변수에 담을 수가 없어서 한번 실패함.
substr사용해서 성공.
배운 점
1. string part= t.substr(i,pLen)
2. string형에서 int형을 사용하려면 stoi함수를 사용한다. string->long은 stol.
3. 1 ≤ p의 길이 ≤ 18인데 숫자의 길이가 18이면 int의 범위를 넘을 수 있다!
long과 stol 사용!
'CS > 알고리즘' 카테고리의 다른 글
[c++][프로그래머스] 제일 작은 수 [성공] _ vector 특정 원소 지우기 (0) | 2023.08.05 |
---|---|
[c++][프로그래머스] 푸드파이터 [성공] (0) | 2023.08.03 |
[c++][프로그래머스] 성격 유형 검사하기_카카오 2022 인턴십 기출 (0) | 2023.08.01 |
백준 1978번: 소수 찾기 (자세한 설명 포함) (0) | 2023.02.27 |
백준 1920번 이진탐색 파이썬 - 시간초과의 이유 (0) | 2023.02.24 |