https://school.programmers.co.kr/learn/courses/30/lessons/133502
문제가 길게 적혀있긴 하지만 로직적으로 복잡한 문제는 아니다.
문제는 시간초과
class Solution {
public int solution(int[] ingredient) {
int answer = 0;
StringBuilder sb = new StringBuilder();
for(int n : ingredient) {
sb.append(n).append("");
}
String str = sb.toString();
while (str.contains("1231")){
str = str.replaceFirst("1231", "");
answer++;
}
return answer;
}
}
단순하게 정수형 배열을 문자열로 변환하고
replace를 사용했는데 시간 초과로 실패했다
class Solution {
public int solution(int[] ingredient) {
int answer = 0;
StringBuilder sb = new StringBuilder();
for (int n : ingredient) {
sb.append(n);
if (sb.length() >= 4 && sb.subSequence(sb.length() - 4, sb.length()).equals("1231")) {
answer++;
sb.delete(sb.length() - 4, sb.length());
}
}
return answer;
}
}
StringBuilder에 하나씩 넣으면서 확인작업을 하게되면
시간 초과가 나오지 않는다
'TIL' 카테고리의 다른 글
면접 준비 (0) | 2024.08.26 |
---|---|
Entity 연관 관계 ( 1 : 1 / N : 1 / 1 : N / N : M ) (0) | 2024.08.23 |
Java 메모리 영역 (0) | 2024.08.21 |
오버로딩 (Overloading), 오버라이딩 (Overriding) (0) | 2024.08.21 |
Spring의 세가지 키워드 IoC, PSA, AOP (0) | 2024.08.19 |