본문 바로가기
알고리즘

[Swift] 프로그래머스 - 짝지어 제거하기

by 고고 2022. 2. 10.

문제: https://programmers.co.kr/learn/courses/30/lessons/12973

 

코딩테스트 연습 - 짝지어 제거하기

짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙

programmers.co.kr

 

재귀로 하면 시간초과가 나기 때문에 스택을 사용하여 빠르게 했습니다.

import Foundation

func solution(_ s:String) -> Int{
    var queue = [Character]()
    
    for str in s {
        if queue.last == str {
            queue.removeLast()
        } else {
            queue.append(str)
        }
    }
    
    return queue.isEmpty ? 1 : 0
}

solution("baabaa") // 1
solution("cdcd") // 0

댓글