BaekJoon

자료구조 9012

wny0320 2025. 3. 25. 22:33

백준 온라인 코딩 문제풀이

https://www.acmicpc.net/

 

Baekjoon Online Judge

Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.

www.acmicpc.net

 

최근에 C++ 공부를 C#으로 백준을 푼 뒤 그걸 생성형  AI를 사용해 C++로 바꿔서 공부하는 방식으로 진행해보려고 한다.


실버 4 괄호 문제이다.

 

우선 받을 줄 수를 입력 받고 열은 괄호의 갯수가 닫은 괄호의 갯수보다 적으면 NO 같으면 YES를 출력해야하는 문제이다.

 

 

예제 입력과 출력을 통해 알 수 있는 사실은 열은 괄호닫은 괄호만 있는 경우에는 성립하지 않는다.

 

개인적으로는 이 문제를 접근하기에 열은 괄호갯수카운트해서 닫은 괄호갯수만큼 카운트에서 빼는 방식으로 설계하였다.

 

또한 이 과정에서 카운트음수가 되는 경우는 열은 괄호보다 닫은 괄호의 수가 더 많다는 의미이기 때문에 음수가 되는 즉시 NO로 판정되게 하였다.

 

구현

더보기
using System;
using System.Linq;
using System.Collections.Generic;
namespace StudyCS
{
    class Program
    {
        public static void Main(string[] args)
        {
            int inputCnt = int.Parse(Console.ReadLine());
            string[] inputText = new string[inputCnt];
            for (int i = 0; i < inputCnt; i++)
            {
                inputText[i] = Console.ReadLine();
            }
            for (int i = 0; i < inputCnt; i++)
            {
                int textLength = inputText[i].Length;
                int cnt = 0;
                for (int j = 0; j < textLength; j++)
                {
                    if (inputText[i][j] == '(')
                        cnt++;
                    if (inputText[i][j] == ')')
                        cnt--;
                    if (cnt < 0)
                        break;
                }
                if (cnt == 0)
                    Console.WriteLine("YES");
                else
                    Console.WriteLine("NO");
            }
        }
    }
}

 

'BaekJoon' 카테고리의 다른 글

Greedy Algorithm - 11399  (0) 2025.03.27
Dynamic Programing - 1463  (0) 2025.03.26
백준 24313 알고리즘 수업 - 점근적 표기  (0) 2023.12.06
백준 10988, 9506  (0) 2023.12.05
조건문 단계, 반복문 단계 2525, 1110  (0) 2023.01.18