프로그래머스 - 올바른 괄호

seio·2022년 10월 30일
0

coding study

목록 보기
6/12

조건이 () 밖에 없기 때문에 편한 문제임.

  bool answer = true;
    int opened = 0;
    int i = 0;
    
    while(s[i] != 0) {
        if(s[i] == '(') {
            opened++;
        } else {
            if (opened == 0) {
                answer = false;
                break;
            } else {
                opened--;
            }
        }
        i++;
    }
    
    if (opened != 0)
        answer = false;
    return answer;
}
profile

//다른 사람 풀이

#include<string>
#include <iostream>

using namespace std;

bool solution(string s)
{
    int n = 0;
    for (int i = 0; i < s.length(); i++) {
        if (n < 0)
            return false;
        if (s[i] == '(')
            n++;
        else if (s[i] == ')')
            n--;
    }
    return n == 0;
}

문제 추천
leetcode: https://leetcode.com/explore/learn/card/queue-stack/230/usage-stack/1361/

풀이:
https://leetcode.com/explore/learn/card/queue-stack/230/usage-stack/1361/discuss

profile
personal study area

0개의 댓글