Algorithm & SQL/Programmers

[Programmers Lv.1 / Java] 크기가 작은 부분문자열

김룹 2024. 3. 24. 15:37

 

 

프로그래머스

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

programmers.co.kr

 

 

 

 

👇 내가 풀이한 코드

import java.util.*;
import java.io.*;

class Solution {
    public int solution(String t, String p) {
        int answer = 0;
        long num = Long.parseLong(p);
        
        for(int i = 0; i < t.length() - p.length() + 1; i++) {
            if(t.charAt(i) <= p.charAt(0)) {
                String temp = t.substring(i, i + p.length());
                if(num >= Long.parseLong(temp)) answer++;
            }
        }
        return answer;
    }
}

 

 

느낀 점 및 정리 ✍️

1. 숫자 길이의 조건을 확인하지 않아서 처음에는 int로 진행했었다가 런타임 에러가 발생했다. 조건 재확인 후 Long으로 바꿈.. ㅎㅋ

2. p와 t의 첫번째 숫자를 비교하여 숫자가 같거나 작을 경우에만 substring을 진행하도록 하였다. (조금이나마 시간복잡도를 줄이기 위한 노력..)