728x90
그리디 알고리즘을 적용해서 푸는 문제.
-를 기준으로 나누고, 나머지는 모두 연산식대로 계산해준 다음 그 값을 - 연산 처리해주면 되는 문제였다.
알고리즘 : Greedy
난이도 : Silver Ⅱ
string exp = Console.ReadLine();
string[] arrExpbyminus = exp.Split('-');
for (int i = 0; i < arrExpbyminus.Length; i++)
{
int thisNumber = 0;
var thisexp = arrExpbyminus[i].Split('+');
if (thisexp.Length > 1)
for (int j = 0; j < thisexp.Length; j++)
thisNumber += int.Parse(thisexp[j]);
else
thisNumber = int.Parse(arrExpbyminus[i]);
arrExpbyminus[i] = thisNumber.ToString();
}
int result = int.Parse(arrExpbyminus[0]);
for (int i = 1; i < arrExpbyminus.Length; i++)
result -= int.Parse(arrExpbyminus[i]);
Console.WriteLine(result);
728x90
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
[1735] 분수 합(C#) (0) | 2022.06.09 |
---|---|
[1676] 팩토리얼 0의 개수(C#) (0) | 2022.05.30 |
[1459] 걷기(C#) (0) | 2022.05.18 |
[1333] 부재중 전화(C#) (0) | 2022.05.06 |
[2748] 피보나치 수 2(C#) (0) | 2022.04.07 |