SW Test/Programmers
[Programmers] Lv2. ๊ดํธ ํ์ ํ๊ธฐ(kotlin)
An effort will never betray ๐
2022. 9. 23. 17:36
๋ฐ์ํ
๋ฌธ์
์์
ํ์ด
- Stack์ ์ด์ฉํ ๋ํ์ ์ธ ๋ฌธ์ ์ธ ๊ดํธ ์ฐพ๊ธฐ์ ๋๋ค.
- Stack ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ kotlin์ ์๊ธฐ์ Java Util ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌํจ๋ Stack์ ์ด์ฉํ์๋ฉด ๋ฉ๋๋ค.
import java.util.*
class Solution {
fun solution(s: String): Int {
var answer: Int = 0
var tempStr = s
first@ (1..s.length).forEach{
tempStr = tempStr.substring(1, tempStr.length) + tempStr.first()
val stack = Stack<Char>()
for(ch in tempStr){
if(stack.size == 0){
stack.add(ch)
}else{
if(ch in arrayOf('[','{','(')){
stack.add(ch)
}else{
if(stack.peek() == '[' && ch == ']'){
stack.pop()
}else if(stack.peek() == '{' && ch == '}'){
stack.pop()
}else if(stack.peek() == '(' && ch == ')'){
stack.pop()
}else{
break;
}
}
}
}
if(stack.isEmpty()) answer++
}
return answer
}
}
๋ฐ์ํ