본문 바로가기
코딩테스트 준비/백준 C#

백준 C# - 10799 +) 풀이

by 코딩하는 돼징 2023. 10. 15.
반응형

풀이

open변수는 '('의 갯수, piece변수는 잘린 쇠막대기의 총 개수

01 '('인 경우

open변수를 증가시켜 새로운 쇠막대기의 시작을 표시한다.

if (c == '(')
    open++;

02 ')'인 경우

쇠막대기가 끝난 것을 표시하기 위해 open을 감소시키고 끝났으므로 조각이 됐으니까 piece를 증가시킨다.

else if (c == ')')
{
    open--;
    piece++;
}

03 레이저인 경우

레이저로 인해 현재 쇠막대기들이 잘리므로 piece에 갯수를 증가시킨다. 

else if (c == '+')
{
    piece += open;
}

코드 전문

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace baek2
{
    class Program
    {
        static void Main(string[] args)
        {
            string line = Console.ReadLine();
            string line2 = line.Replace("()", "+");
            int open = 0;
            int piece = 0;
            foreach(char c in line2)
            {
                if (c == '(')
                    open++;
                else if (c == ')')
                {
                    open--;
                    piece++;
                }
                else if (c == '+')
                {
                    piece += open;
                }
            }
            Console.WriteLine(piece);
        }

    }
}

 

 

 

반응형

'코딩테스트 준비 > 백준 C#' 카테고리의 다른 글

백준 C# - 1935 +) 풀이  (0) 2023.10.20
백준 C# - 17298 +) 풀이  (0) 2023.10.17
백준 C# - 17413 +) 풀이  (0) 2023.10.15
백준 C# - 1753 +) 풀이 단계 설명  (0) 2023.10.09
백준 C# - 10866  (0) 2023.10.04

댓글