프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
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을 진행하도록 하였다. (조금이나마 시간복잡도를 줄이기 위한 노력..)
'Algorithm & SQL > Programmers' 카테고리의 다른 글
| [Programmers Lv.1 / Java] 신규 아이디 추천 (0) | 2024.03.25 |
|---|---|
| [Programmers Lv.2 / Java] 게임 맵 최단거리(BFS) (0) | 2024.03.24 |
| [Programmers Lv.3 / MySQL] 물고기 종류 별 대어 찾기 (0) | 2024.03.24 |
| [Programmers Lv.2 / MySQL] 노선별 평균 역 사이 거리 조회하기 (0) | 2024.03.11 |
| [Programmers LV.4 / MySQL] 저자 별 카테고리 별 매출액 집계하기(GROUP BY) (0) | 2024.03.10 |