프로그래머스 크기가 작은 부분문자열 JAVA 풀이 (문자열, substring, 시간복잡도)

2026. 5. 17. 22:41·코테(Solved.ac + Programmers)
728x90

substring()을 이용하여 부분문자열을 잘라 비교하는 문제입니다.


📌 Q

문자열 t에서 p와 길이가 같은 부분문자열 중에서,

해당 숫자가 p보다 작거나 같은 경우의 개수를 구하는 문제


📌 정답코드

package level1;

public class No34 {
    public static void main(String[] args) {
        String T = "500220839878";
        String P = "7";
        int len = P.length();
        int cnt = 0;

        for(int i = 0; i <= T.length() - len; i++){
            String str = T.substring(i, i + len);

            if(Long.parseLong(str) <= Long.parseLong(P)){
                cnt++;
            }
        }
        System.out.println(cnt);
    }
}

📌 핵심 포인트

substring 활용

T.substring(i, i + len)

현재 위치부터 len 길이만큼 문자열을 잘라낸다.

T = "3141592"
P = "271"

314
141
415
159
592

이렇게 한 칸씩 이동하면서 검사한다.


숫자 비교 : 문자열 그대로 비교하지 않고 숫자로 변환해야 한다.

Long.parseLong(str)

📌 한 줄 정리

  • substring으로 고정 길이 문자열 추출
  • Long 타입으로 숫자 비교
  • 슬라이딩 윈도우 느낌으로 해결 가능

📌 최종 핵심 요약

  • substring 범위 계산이 핵심
  • 숫자 비교는 Long 사용
  • 문자열 탐색 기본 유형으로 자주 등장하는 문제

문자열 문제에서 substring 사용법은 정말 자주 나오므로 익숙해지는 것이 중요하다

728x90

'코테(Solved.ac + Programmers)' 카테고리의 다른 글

프로그래머스 삼총사 JAVA 풀이 (브루트포스, 조합, 시간복잡도)  (0) 2026.05.20
프로그래머스 최대공약수와 최소공배수 JAVA 풀이 (유클리드호제법, 시간복잡도)  (0) 2026.05.18
프로그래머스 같은 숫자는 싫어 JAVA 풀이 (스택, 구현, 시간복잡도)  (0) 2026.05.16
프로그래머스 행렬의 덧셈 JAVA 풀이 (2차원배열, 구현)  (0) 2026.05.14
프로그래머스 문자열 다루기 기본 JAVA 풀이 (문자열, 구현)  (0) 2026.05.14
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
  • 프로그래머스 삼총사 JAVA 풀이 (브루트포스, 조합, 시간복잡도)
  • 프로그래머스 최대공약수와 최소공배수 JAVA 풀이 (유클리드호제법, 시간복잡도)
  • 프로그래머스 같은 숫자는 싫어 JAVA 풀이 (스택, 구현, 시간복잡도)
  • 프로그래머스 행렬의 덧셈 JAVA 풀이 (2차원배열, 구현)
PUSH → MERGE → DEPLOY
PUSH → MERGE → DEPLOY
데이터 흐름과 운영 자동화를 설계하는 백엔드 개발자
  • PUSH → MERGE → DEPLOY
    Coding Dongin
    PUSH → MERGE → DEPLOY
  • 전체
    오늘
    어제
    • MEUN
      • 코테(Solved.ac + Programmers)
      • BootCamp(JAVA)
      • JAVA
      • SpringBoot
      • JavaScript
      • JSP
      • DB(SQL)
      • React
      • HTML_CSS
      • jQuery
      • SCSS
      • GSAP
      • 설치 + 꿀팁
      • 정보처리기사 오답노트
      • 정보처리기사 기출문제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GIT
  • 공지사항

  • 인기 글

  • 태그

    문자열
    dp
    프로그래머스
    solved.ac
    실기
    알고리즘
    정처기
    기출문제
    level0
    백준
    java
    구현
    시뮬레이션
    수학
    자료구조
    완전탐색
    springboot
    정보처리기사
    코딩테스트
    level1
    백엔드개발자
    정렬
    자바
    브루트포스
    정처기오답노트
    정보처리기사 실기 기출문제
    Level2
    정처기실기
    피보나치
    배열
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.4
PUSH → MERGE → DEPLOY
프로그래머스 크기가 작은 부분문자열 JAVA 풀이 (문자열, substring, 시간복잡도)
상단으로

티스토리툴바