C++/코딩 기초 트레이닝

[C++/프로그래머스] 간단한 식 계산하기

서니션 2023. 12. 13. 19:00
728x90
반응형

문제설명

문자열 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


반응형
728x90

 

728x90
반응형