문제: 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
'알고리즘' 카테고리의 다른 글
[Swift] 프로그래머스 - 카카오 거리두기 확인하기 (0) | 2022.02.11 |
---|---|
[Swift] 프로그래머스 - 카카오 뉴스 클러스터링 (0) | 2022.02.10 |
[Swift] 프로그래머스 - 카카오 크레인 인형뽑기 게임 (0) | 2022.02.10 |
[Swift] 프로그래머스 - 카카오 오픈채팅방 (0) | 2022.02.10 |
[Swift] 프로그래머스 - 카카오 신고 결과 받기 (0) | 2022.02.10 |
댓글