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
}
}
결론
쉽게 해결할 수 있는 문제였고, 위처럼 풀었을때 효율성테스트도 통과할 수 있었다.