티스토리 뷰

PS

[Swift] 프로그래머스_올바른 괄호

희철 2022. 10. 13. 21:27

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12909

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

 

괄호는 () 모양이 되어야 정상적인 형태이다.

 

하나씩 쌓일텐데 괄호의 시작은 "("이므로 "("보다 ")"모양이 많아진다면 잘못된 괄호가 될 것이다.

 

따라서 "("가 들어왔을땐 +1, ")"가 들어왔을땐 -1을 해줘서 count가 음수인 경우엔 닫히는 괄호가 더 많은 것이므로 false를 반환하도록 했따.

 

또한, count가 0이어야만 올바른 괄호이므로 마지막에 따로 조건도 넣어주었다.

 

import Foundation

func solution(_ s:String) -> Bool{
    
    var count = 0
    
    for i in s {
        if i == ")" {
            count -= 1
        } else {
            count += 1
        }
        if count < 0 {
            return false
        }
    }
    if count == 0 {
        return true
    } else {
        return false
    }
}

 

결론

 

쉽게 해결할 수 있는 문제였고, 위처럼 풀었을때 효율성테스트도 통과할 수 있었다.

댓글
최근에 올라온 글
Total
Today
Yesterday