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 == 마지막 인덱스
'코딩테스트' 카테고리의 다른 글
[Python] 백준 2775 - 부녀회장이 될테야 (0) | 2024.05.22 |
---|---|
[Python] 백준 - 20125번 : 쿠키의 신체측정 (0) | 2024.05.22 |
[Python] 백준 - 연구소 (0) | 2024.05.18 |
[Python] 백준 - 영단어 암기는 괴로워 (0) | 2024.05.16 |
[Python] 백준 - 덩치 (0) | 2024.05.14 |