728x90
SMALL
https://www.acmicpc.net/problem/10799
fun main() = with(Scanner(System.`in`)) {
val text = nextLine()
val stack: Stack<Char> = Stack()
var result = 0
var last: Char = ' '
for (i in text.indices) {
when (text[i]) {
'(' -> {
stack.push(text[i])
last = text[i]
}
')' -> {
if (stack.isNotEmpty()) {
stack.pop()
if (last == '(') {
result += stack.size
} else{
result += 1
}
last = text[i]
}
}
}
}
println(result)
}
10퍼센트에서 안돌아가는 이슈
https://www.acmicpc.net/problem/4949
text.split(".").forEach { divide ->
val stack: Stack<Char> = Stack()
var result = true
if (divide.isNotEmpty()) {
divide.forEach {
when (it) {
'(' -> stack.push('(')
'[' -> stack.push('[')
']' -> if (stack.isNotEmpty() && stack.peek() == '[') {
stack.pop()
} else {
result = false
}
')' -> {
if (stack.isNotEmpty() && stack.peek() == '(') {
stack.pop()
} else {
result = false
}
}
}
}
if (result && stack.isEmpty()) {
println("yes")
} else {
println("no")
}
}
}
728x90
LIST
'IT > 알고리즘' 카테고리의 다른 글
[백준] 부분수열의 합 (0) | 2024.11.06 |
---|---|
[백준] - 그림 (BFS) (0) | 2024.11.04 |
[백준] N과 M (2) | 2024.10.30 |
[백준] 패턴 (0) | 2024.10.30 |
[백준] 가장 긴 증가하는 부분 수열 (0) | 2024.10.28 |