C# 문자열로 된 "1+2+3" 의 합을 구하라!
2019. 6. 14. 10:48ㆍC#
728x90
반응형
문제!
"1+2+3" 이라는 문자열을 숫자로 계산하여 합을 나타내라
결과 : ex) 1+2+3 = 6
string temp = "1+2+3";
먼저 위와 같은 문자열이 있다고 가정을 하고 (물론 입력 받아서 할 수도 있지만 귀찮기 때문..)
문자열로 "1+2+3" 으로 되어있는 걸 어떻게 더하지? 생각을 하다 너무 쉬운 방법이 있었다
바로 "+" 를 기준으로 문자를 나누는 것이다. "+"라는 문자를 기준으로 나누게 되면 바로 이렇게 될 것이다
string[] result= temp.Split('+');
결과 : ["1"] ["2"] ["3"]
그럼 이걸 더하면 되겠다!
더하기 전에 sum 이라는 더할 변수를 선언하고
for문을 이용하여 더합니다.
string temp = "1+2+3";
string[] result= temp.Split('+');
int sum = 0;
for (int i = 0; i < result.Length; i++)
{
sum += result[i];
}
위의 코드로 실행을 하면 오류가 발생 할 것 입니다!
이유는 아까 string[] result = temp.split('+') 했을 때
각 방에 들어있는 값들은
string인 문자열로 들어가 있는데
이것을 sum(0) = sum(0) + "1"
하려고 하니 오류가 발생 하는 겁니다.
이 오류를 해결하기 위해서는 문자열을 정수형으로 형변환을 해주면 됩니다.
sum += Int32.Parse(result[i]);
바로 이렇게 말입니다! 그러면 이제 계산이 되겠죠?
결과
아래는 Full Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
// "1+2+3" 을 더하라!
string temp = "1+2+3";
string[] result= temp.Split('+');
int sum = 0;
for (int i = 0; i < result.Length; i++)
{
sum += Int32.Parse(result[i]);
}
Console.WriteLine("결과 : {0} = {1}", temp, sum);
Console.ReadKey();
}
}
}
728x90
반응형
'C#' 카테고리의 다른 글
C# WebBrowser 스크립트 오류 해결방법 (2) | 2019.06.14 |
---|---|
C# Bytes, KB, MD, GB 변환하기 0.00형식으로 (0) | 2019.06.14 |
C# Thread를 이용한 파일찾기 메모.. (0) | 2019.06.14 |
C# 아웃룩 서명 가져오기 (0) | 2019.06.14 |
C# 엔터 쳤을 때 이벤트 발생시키기 (0) | 2019.06.14 |