C++/코딩 기초 트레이닝
[C++/프로그래머스] 간단한 식 계산하기
서니션
2023. 12. 13. 19:00
문제설명
문자열 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 합니다.
작성코드
#include <string>
#include <vector>
using namespace std;
int solution(string binomial) {
int answer = 0;
string first="";
string second="";
int size = binomial.size();
for(int i=0; i<size; ++i)
{
if(binomial[i] == '+' || binomial[i] == '-' || binomial[i] == '*')
{
first = binomial.substr(0, i-1);
second = binomial.substr(i+1);
int ifirst = stoi(first);
int isecond = stoi(second);
if (binomial[i] == '+')
answer=ifirst+isecond;
else if (binomial[i] == '-')
answer=ifirst-isecond;
else if (binomial[i] == '*')
answer=ifirst*isecond;
break;
}
}
return answer;
}
문제 URL
https://school.programmers.co.kr/learn/courses/30/lessons/181865
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr