본문 바로가기

알고리즘

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

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

정답

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

    }
}