C# 알고리즘 - 간단한 식 계산하기
작성자 정보
- 마스터 작성
- 작성일
본문
[문제 설명]
문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.
[제한사항]
0 ≤ a, b ≤ 40,000
0을 제외하고 a, b는 0으로 시작하지 않습니다.
[입출력 예]
[입출력 예 설명]
입출력 예 #1
예제 1번의 binomial은 "43 + 12"로 이 식을 계산한 결과인 43 + 12 = 55를 return 합니다.
입출력 예 #2
예제 2번의 binomial은 "0 - 7777"로 이 식을 계산한 결과인 0 - 7777 = -7777을 return 합니다.
입출력 예 #3
예제 3번의 binomial은 "40000 * 40000"으로 이 식을 계산한 결과인 40000 × 40000 = 1600000000을 return 합니다.
[코드]
using System;
using System.Collections.Generic;
using System.Linq;
public class Solution {
public int solution(string binomial) {
List<string> list = new List<string>();
int answer = 0;
if(binomial.Contains("+"))
{
list= binomial.Split("+").ToList();
answer = Convert.ToInt32(list[0]) + Convert.ToInt32(list[1]);
}
else if (binomial.Contains("-"))
{
list= binomial.Split("-").ToList();
answer = Convert.ToInt32(list[0]) - Convert.ToInt32(list[1]);
}
else if(binomial.Contains("*"))
{
list= binomial.Split("*").ToList();
answer = Convert.ToInt32(list[0]) * Convert.ToInt32(list[1]);
}
return answer;
}
}
[풀이]
1.using선언
using System;
using System.Collections.Generic;
using System.Linq;
2.리스트 선언 - 문자열을 잘라 리스트에 담을 계획
List<string> list = new List<string>();
3.매개변수를 if문 돌리기
포함된 부호의 값으로 분기점 구분하기
Split()으로 자르고
ToList로 담기
형변환 후 계산하기
if(binomial.Contains("+"))
{
list= binomial.Split("+").ToList();
answer = Convert.ToInt32(list[0]) + Convert.ToInt32(list[1]);
}
else if (binomial.Contains("-"))
{
list= binomial.Split("-").ToList();
answer = Convert.ToInt32(list[0]) - Convert.ToInt32(list[1]);
}
else if(binomial.Contains("*"))
{
list= binomial.Split("*").ToList();
answer = Convert.ToInt32(list[0]) * Convert.ToInt32(list[1]);
}
[주소]
https://school.programmers.co.kr/learn/courses/30/lessons/181865
해당 알고리즘 문제는 프로그래머스의 알고리즘 문제입니다.
관련자료
-
이전
-
다음