SMALL

https://www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다

www.acmicpc.net


  • 문제


  • 문제풀이

-앞을 잘라서 뒤의 수를 크게 만들어 준다.


  • 코드 1
using System.Diagnostics.Tracing;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string sentence = Console.ReadLine();
            string[] cal = sentence.Split('-');//'-'기준으로 자름
            int sum = 0;
            foreach(string item in cal[0].Split('+'))//-기준 앞부분을 +로 잘라서 더함
            {
                sum += int.Parse(item);
            }
            if (cal.Length == 0)//-가 안나온 경우고
            {
                Console.WriteLine(0);
            }
            else
            {
                for(int i=1;i<cal.Length;i++)
                {
                    string[] cal2 = cal[i].Split('+');
                    foreach(string item in cal2)
                    {
                        sum-=int.Parse(item);
                    }
                }
            }
            Console.WriteLine(sum);
        }
    }
}

  • 후기

생각보다 많은 문제가 그리디 알고리즘이다.

LIST

'백준 > C#' 카테고리의 다른 글

[C#]백준 15650번: N과 M(2)  (0) 2023.07.19
[C#]백준 15649번: N과 M(1)  (0) 2023.07.19
[C#]백준 11047번: 동전 0  (0) 2023.07.19
[C#]백준 13305번: 주유소  (0) 2023.07.19
[C#]백준 11399번: ATM  (0) 2023.07.19

+ Recent posts