알고리즘

릿코드 1544. Make The String Great 코틀린

rkrkrr0101 2024. 4. 5. 14:14

스택써서 대문자소문자 쌍소멸시키고 남은거만 리턴하라는문제
그냥 스택에서 마지막꺼랑 현재꺼랑 비교해서 같고 대소문자다르면 스택 팝,아니면 스택푸시후
스택에서 다꺼내고 뒤집어서리턴

정답

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()

    }
}