[프로그래머스 Lv1] 크기가 작은 부분 문자열

수민이슈·2023년 3월 22일
0

[C++] 코딩테스트

목록 보기
10/116
post-thumbnail

🖊️ 문제

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

🖊️ 풀이

처음에는 그냥 슉슉..
stoi 로 비교했다
근데 p의 길이가 18
그러면 최대 18자리숫자?
불가능하다. string에서도 불가능하고 long을 해도 불가넝.

날 기다리는건

(signal: aborted (core dumped))

요것뿐..

그래서 어떻게 하지 고민하다가
어쩔수없다..
최대 18개니까
그만큼 일일히 비교하는걸로,,

작거나 같아야 하니까
같을 경우까지 비교해보고
그냥 노가다로 비교해줬다.

🖊️ 코드

#include <string>

using namespace std;

int solution(string t, string p) {
    int answer = 0;
    
    int size = p.length();
    for (int i = 0 ; i < t.length() - size + 1 ; i++) {
        bool same = true;
        for (int j = 0 ; j < size ; j++) {
            if (t[i + j] > p[j]) {
                same = false;
                break;
            }
            else if (t[i + j] < p[j]) {
                same = false;
                answer += 1;
                break;
            }
        }
        if (same)
            answer += 1;
    }
    
    return answer;
}

😊😊😊

항상 주어진 입력값의 크기, 범위를 꼭 보고
자료형을 뭐 쓸지도 생각해보자.

0개의 댓글