[프로그래머스] 올바른 괄호 (시뮬레이션)

2025. 5. 17. 17:58·Algorithm/Coding Test Records

문제 소개

오늘 풀었던 프로그래머스 - 올바른 괄호 문제를 정리합니다.

이 문제는 주어진 괄호 문자열이 열린 괄호 '('과 닫힌 괄호 ')'가 올바르게 짝지어져 있는지 판별하는 문제입니다.
문제 링크: 올바른 괄호 - 프로그래머스


문제 접근 방식

이 문제는 다음과 같은 방식으로 접근했습니다:

  1. 열린 괄호가 등장하면 count 증가
  2. 닫힌 괄호가 등장하면 count 감소
  3. 도중에 count가 음수가 되면 → 닫힌 괄호가 먼저 나왔다는 뜻 → false
  4. 문자열 끝까지 확인 후 count가 0이면 → 정상 종료 → true

괄호의 종류가 1개이기에 굳이 Stack은 사용하지 않음


해결 과정 및 코드

핵심 아이디어

  1. count 변수를 이용해 여는 괄호 개수 추적
  2. 중간에 음수가 되면 즉시 false 반환
  3. 끝까지 검사 후 count == 0 → 올바른 괄호

코드

시간 복잡도 : O(N)

class Solution {
    boolean solution(String s) {
        int count = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == '(') {
                count++;
            } else {
                count--;
            }
            if (count < 0) return false; // 닫는 괄호가 먼저 등장
        }
        return count == 0; // 열린 괄호와 닫힌 괄호 수가 같아야 함
    }
}

'Algorithm > Coding Test Records' 카테고리의 다른 글

[프로그래머스] 다리를 지나는 트럭 (Queue)  (1) 2025.05.19
[프로그래머스] 프로세스 (Queue)  (1) 2025.05.18
[프로그래머스] 기능개발 (시뮬레이션)  (0) 2025.05.16
[프로그래머스] 같은 숫자는 싫어 (Stack)  (0) 2025.05.15
[프로그래머스] 베스트앨범 (Hash)  (1) 2025.05.14
'Algorithm/Coding Test Records' 카테고리의 다른 글
  • [프로그래머스] 다리를 지나는 트럭 (Queue)
  • [프로그래머스] 프로세스 (Queue)
  • [프로그래머스] 기능개발 (시뮬레이션)
  • [프로그래머스] 같은 숫자는 싫어 (Stack)
Celion
Celion
오늘도 평소처럼 화이팅!
  • Celion
    Orion Log
    Celion
  • 전체
    오늘
    어제
    • 전체 글 (144)
      • Uncompiled Thoughts (8)
        • 네이버 부스트캠프 10기 (5)
      • CS 기초부터 한 걸음씩 (34)
      • Code Odyssey (22)
      • Algorithm (77)
        • Coding Test Records (63)
      • Git (3)
      • reference (0)
  • 블로그 메뉴

    • 태그
    • 방명록
  • 태그

    Kotlin
    알고리즘고득점kit
    greedy
    백준
    코테
    프로그래머스
    boostcamp
    Level2
    java
    시뮬레이션
    문법정리
    Level3
  • 최근 글

  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.4
Celion
[프로그래머스] 올바른 괄호 (시뮬레이션)
상단으로

티스토리툴바