From 346727ddacbece7880aac9354e74950637c3dc10 Mon Sep 17 00:00:00 2001 From: songyc macbook Date: Tue, 28 Apr 2026 21:40:54 +0900 Subject: [PATCH] programmers 20260428 --- .../python/올바른 괄호/problem.txt | 17 +++++++++++++++ .../python/올바른 괄호/solution.py | 21 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 code_study/programmers/python/올바른 괄호/problem.txt create mode 100644 code_study/programmers/python/올바른 괄호/solution.py diff --git a/code_study/programmers/python/올바른 괄호/problem.txt b/code_study/programmers/python/올바른 괄호/problem.txt new file mode 100644 index 0000000..81a0154 --- /dev/null +++ b/code_study/programmers/python/올바른 괄호/problem.txt @@ -0,0 +1,17 @@ +괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. +예를 들어 +"()()" 또는 "(())()" 는 올바른 괄호입니다. +")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. +'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, +올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. + +제한사항 +문자열 s의 길이 : 100,000 이하의 자연수 +문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. + +입출력 예 + +"()()" -> true +"(())()" -> true +")()(" -> false +"(()(" -> false \ No newline at end of file diff --git a/code_study/programmers/python/올바른 괄호/solution.py b/code_study/programmers/python/올바른 괄호/solution.py new file mode 100644 index 0000000..8fc32cd --- /dev/null +++ b/code_study/programmers/python/올바른 괄호/solution.py @@ -0,0 +1,21 @@ +s = "(()(" + +def solution(s) : + from collections import deque + stack = deque() + + for c in s : + if c == "(" : + stack.append(c) + elif c == ")" : + if not stack : + return False + else : + stack.pop() + + if stack : + return False + else : + return True + +print(solution(s)) \ No newline at end of file