inblog logo
|
DailyCoding
    CodingTestJava

    164. 올바른 괄호

    박은서's avatar
    박은서
    May 17, 2026
    164. 올바른 괄호
    Contents
    1. 문제2. 풀이3. 다른 사람의 풀이
    2026.05.17(SUN)_164일차

    1. 문제

    문제 설명

    괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어
    • "()()" 또는 "(())()" 는 올바른 괄호입니다.
    • ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.
    '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.

    제한사항

    • 문자열 s의 길이 : 100,000 이하의 자연수
    • 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.

    입출력 예

    s
    answer
    "()()"
    true
    "(())()"
    true
    ")()("
    false
    "(()("
    false

    입출력 예 설명

    입출력 예 #1,2,3,4
    문제의 예시와 같습니다.

    2. 풀이

    class Solution { boolean solution(String s) { int open = 0; int close = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '(') open++; else close++; if (close > open) { break; } } boolean answer = open == close; // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다. System.out.println(answer); return answer; } }

    3. 다른 사람의 풀이

    class Solution { boolean solution(String s) { boolean answer = false; int count = 0; for(int i = 0; i<s.length();i++){ if(s.charAt(i) == '('){ count++; } if(s.charAt(i) == ')'){ count--; } if(count < 0){ break; } } if(count == 0){ answer = true; } return answer; } }
     
    Share article
    Contents
    1. 문제2. 풀이3. 다른 사람의 풀이

    DailyCoding

    RSS·Powered by Inblog