본문 바로가기
코딩테스트 연습

크기가 작은 부분 문자열

by 신재은👩🏼‍💻 2024. 5. 8.

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

 

프로그래머스

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

programmers.co.kr

class Solution {
    public int solution(String t, String p) {
        int count = 0;
        int base = p.length();
        for(int i=0; i<=t.length()-base; i++) {
            if(t.substring(i, i+base).compareTo(p) <= 0) {
                count++;
            }
            // if(Integer.parseInt(t.substring(i, i+base)) <= Integer.parseInt(p)) {
            //     count++;
            // }
        }
        return count;
    }
}

 

Integer.parseInt()를 하니까 시간 초과로 런타임 에러가 많이 걸렸다.

그래서 그 부분만 문자열을 compareTo()하는 걸로 바꾸니까 바로 통과됐다.

 

compareTo() 메서드는 두 문자열을 사전순으로 비교하여, 첫 번째 문자열이 두 번째 문자열보다 작거나 같으면 0 또는 음수를 반환한다.

그러니까 논리적으로 저걸 굳이 숫자로 파싱 안 해도 된다는 거.

'코딩테스트 연습' 카테고리의 다른 글

K번째수  (0) 2024.05.10
[1차] 비밀지도  (0) 2024.05.10
안전지대  (0) 2024.05.07
특이한 정렬  (0) 2024.05.07
외계어 사전  (0) 2024.05.06