반응형
올바른 괄호 Level2
문제 풀이:
다른 방법도 있겠지만 생각나는 방법으로 풀었다.
1. "("이라면 카운트를 1 증가시킨다.
2. ")"이라면 카운트가 0일 경우 괄호 짝이 맞지 않으므로 false 리턴
2-1. 카운트가 0이 아니라면 카운트를 1 감소시킨다.
3. 주어진 문자열을 다 돌았을 때 카운트의 개수가 0 이라면 true
3-1. 아니라면 false
코드:
import Foundation
func solution(_ s:String) -> Bool
{
var cnt = 0
for c in s {
if c == "(" {
cnt += 1
} else {
if cnt == 0 {
return false
} else {
cnt -= 1
}
}
}
return cnt == 0 ? true : false
}
문제:
programmers.co.kr/learn/courses/30/lessons/12909
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Algorithm/Programmers] 베스트앨범 Swift (0) | 2021.01.29 |
---|---|
[Algorithm/Programmers] 캐시 Swift (0) | 2021.01.27 |
[Algorithm/Programmers] 다음 큰 숫자 Swift (0) | 2021.01.15 |
[Algorithm/Programmers] 가장 큰 정사각형 찾기 Swift (0) | 2021.01.14 |
[Algorithm/Programmers] 피보나치 수 (0) | 2021.01.14 |
댓글