코딩테스트
[Python] 백준 - 제로
박매트
2024. 5. 21. 22:58
https://www.acmicpc.net/problem/10773
구현문제
n = int(input())
li = []
for i in range(n):
n = int(input())
if n!= 0:
li.append(n)
else:
li.pop()
print(sum(li))
소요 시간이 굉장히 오래걸렸다... 이렇게 푸는 게 맞는 듯 하다.
알아야 할 것. 스택일 시에
list.append(요소) : push
list.pop() : pop 맨 나중에 들어온 아이 꺼내기
Kotlin 으로 풀어보기
import java.util.*
fun main() {
val scanner = Scanner(System.`in`)
val n = scanner.nextInt()
val li = mutableListOf<Int>()
for (i in 0 until n) {
val number = scanner.nextInt()
if (number != 0) {
li.add(number)
} else {
if (li.isNotEmpty()) {
li.removeAt(li.lastIndex)
}
}
}
println(li.sum())
}
Kotlin에서 스택 구현 방법
리스트.add(요소)
리스트.removeAt (인덱스 ) -> 맨 마지막에 있는 거 빼는 거이므로.. li.lastIndex == 마지막 인덱스