본문 바로가기
Algorithm/Programmers

[Algorithm/Programmers] 올바른 괄호 Swift

by thoonk: 2021. 1. 15.

올바른 괄호 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

 

코딩테스트 연습 - 올바른 괄호

괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 ()() 또는 (())() 는 올바른 괄호입니다. )()( 또는 (()( 는 올바르지 않은 괄호

programmers.co.kr

 

 

댓글