스택써서 대문자소문자 쌍소멸시키고 남은거만 리턴하라는문제
그냥 스택에서 마지막꺼랑 현재꺼랑 비교해서 같고 대소문자다르면 스택 팝,아니면 스택푸시후
스택에서 다꺼내고 뒤집어서리턴
정답
import java.util.Stack
class Solution {
fun makeGood(s: String): String {
val stack = Stack<Char>()
for (i in s){
if (stack.empty()){
stack.push(i)
continue
}
val iAscii = i.code
val stackAscii = stack.peek().code
if (iAscii-stackAscii==32 || iAscii-stackAscii==-32){
stack.pop()
}else{
stack.push(i)
}
}
var res=""
while (!stack.empty()){
res+=stack.pop()
}
return res.reversed()
}
}
'알고리즘' 카테고리의 다른 글
릿코드 678. Valid Parenthesis String 코틀린 (0) | 2024.04.07 |
---|---|
릿코드 1249. Minimum Remove to Make Valid Parentheses 코틀린 (0) | 2024.04.06 |
릿코드 79. Word Search 코틀린 (0) | 2024.04.03 |
릿코드 205. Isomorphic Strings 코틀린 (0) | 2024.04.02 |
릿코드 2962. Count Subarrays Where Max Element Appears at Least K Times 코틀린 (0) | 2024.03.29 |