https://school.programmers.co.kr/learn/courses/30/lessons/147355
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int solution(String t, String p) {
int num = t.length()-p.length()+1;
int answer = 0;
for(int i=0;i<num;i++){
String result = t.substring(i,i+p.length());
if (Long.parseLong(result) <= Long.parseLong(p)) {
answer++;
}
}
return answer;
}
}
와...진짜 문제 제대로 안 읽고 풀어서 계속 출력 결과가 다르다고^^;;
02, 03 이런거는 아예 숫자로 안 쳐주는 줄 알았는데.. 문제 맨 아래 내려보면 이렇게.. 빼꼼 저 여깄어요!! 하고 있었다..ㅎ

나는 if문으로 result.charAt(0)이 '0' 이면 continue로 넘어가게 했는데 이러니깐 출력 결과가 다르지~~~~

그리고 런타임 에러 뜬 이유!!! Integer.parseInt로 문자열을 정수로 변환할 시, 정수 범위를 초과하는 값이 주어지면
NumberFormatException 이 뜬다. p의 길이 ≤ t의 길이 ≤ 10,000 범위에 만족하는건 Long 이다!!

그러므로 Long.parseLong으로 하면 테스트 케이스 통과!
이 문제 풀 때 int num = t.length()-p.length()+1; 이거 생각하느라 좀 힘들었다... 저 한 줄 빼곤 나머지는 슈슈슉~ 하고 코드 짰는데 저 로직이 생각이 안 나서 t/p 해서 몫이랑 나머지 더해야하나..? 하면서 되게 여러가지 생각했다ㅜㅜㅜ
그리고 내일부터는 그룹 리더 활동 시작!!! 너무 기대된다ヾ(•ω•`)o