https://school.programmers.co.kr/learn/courses/30/lessons/133502
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
ingredient 를 순회하면서 1231 인지 판단해야 되는데 이때 incgredient의 길이가 최대 1000.000이기 때문에
최대한 시간복잡도를 최적화 해야 한다.
간단히 살펴보면 계속 ingredient의 요소를 차근차근 stack에 쌓아두다가 뒤에서 4번째까지 요소를 문자열로 변환 후에 1231 인지 판단하고 만약 1231이라면 햄버거이기 때문에 acc 를 1 증가시키며 동시에 stack.splice(-4)를 통해 뒤에서 4번째 까지 요소들을 잘라낸다.
참고로 splice가 끝에서부터 잘라내기 때문에 자르고 난 후에 배열을 재조정할 필요가 없어 높은 시간 복잡도를 갖지는 않는다
'알고리즘 문제 풀이' 카테고리의 다른 글
프로그래머스[LEVEL1]: 옹알이 2 (0) | 2022.11.28 |
---|---|
프로그래머스[LEVEL1] - 귤고르기 (0) | 2022.11.25 |
백준1541 - 잃어버린 괄호 (0) | 2022.11.21 |
프로그래머스[LEVEL2] - n^2 배열 자르기 (0) | 2022.11.13 |
프로그래머스[LEVEL1] - 음양 더하기 (0) | 2022.11.06 |