coding_test
[99클럽 4기 코테 스터디 TIL 34일차] 햄버거 만들기 (feat. StringBuilder로 추가하면서 숫자 체크)
jeri
2024. 12. 1. 01:56
반응형
1) 문제
https://school.programmers.co.kr/learn/courses/30/lessons/133502
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
2) 내가 구현한 코드
- 시간초과 난 풀이
class Solution {
public int solution(int[] ingredient) {
int answer = 0;
String str = "";
for(int i=0; i<ingredient.length; i++){
str += ingredient[i];
if(str.length() >=4 && str.indexOf("1231") != -1) {
str = str.replace("1231","");
answer++;
}
}
return answer;
}
}
- 정답인 풀이
class Solution {
public int solution(int[] ingredient) {
// 햄버거 개수를 담기 위한 answer
int answer = 0;
// 햄버거 재료들을 순서대로 담을 StringBuilder
StringBuilder sb = new StringBuilder();
for (int i = 0; i < ingredient.length; i++) {
// 현재 재료를 sb에 추가
sb.append(ingredient[i]);
// sb의 길이가 4 이상이고, 마지막 4개의 재료가 빵-야채-고기-빵인 경우
if (sb.length() > 3 && sb.substring(sb.length() - 4, sb.length()).equals("1231")) {
// answer 증가
answer++;
// 마지막 4개의 재료 삭제
sb.delete(sb.length() - 4, sb.length());
}
}
return answer;
}
}
3) 추가 문제
미들러 - 개인정보 수집 유효기간
https://school.programmers.co.kr/learn/courses/30/lessons/150370
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
챌린저 - LCS 3
https://www.acmicpc.net/problem/1958
반응형