https://school.programmers.co.kr/learn/courses/30/lessons/133502
class Solution {
fun solution(ingredient: IntArray): Int {
var answer: Int = 0
var stack = mutableListOf<Int>()
for (i in ingredient) {
stack.add(i)
if ( stack.size >= 4 && stack.slice(stack.size-4 until stack.size) == listOf(1,2,3,1) ) {
repeat(4) {stack.removeLast()}
answer++
}
}
return answer
}
}
알고리즘 문제를 풀면서 처음으로 Stack 자료 구조를 사용해봤다.
코틀린에선 스택이 구현되어있지 않아서 사용하려면 자바에서 가져오거나 스스로 구현해야한다.
자바에서 가져올 땐 java.util.Stack으로 가져오면 된다.
그럼 var stack = Stack<Int>() 이런 형태로 사용가능하다.
위 문제는 배열의 숫자를 스택에 넣어서 스택 안에 1,2,3,1 형태로 완전한 버거형태가 들어오면 카운트해주고 스택에서 하나씩 제거해주면 해결된다.
'Code KATA' 카테고리의 다른 글
Programmers 바탕화면 정리 with Kotlin (0) | 2023.12.22 |
---|---|
Programmers 성격 유형 검사하기(2022KaKaoTech) with Kotlin (1) | 2023.12.21 |
Programmers 둘만의 암호 with Kotlin (1) | 2023.12.19 |
Programmers 대충 만든 자판 with Kotlin (0) | 2023.12.18 |
Programmers 문자열 나누기 with Kotlin (0) | 2023.12.15 |