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

YH·2023년 11월 1일
0

문제

간단한 식 계산하기 : 문제 링크


문제 분석

  • 문자열 binomial이 매개변수로 주어진다. binomial은 "a op b" 형태의 이항식이고 ab는 음이 아닌 정수, op는 '+','-','x' 중 하나이다. 주어진 식을 계산한 정수를 return
  • a, b를 저장할 문자열 tmp_i 및 부호를 저장할 문자열 tmp_s를 선언. for loop를 통해 문자열 binomial 첫번째부터 마지막 원소까지 검사하고, if문을 통해 정수 형태의 문자라면 tmp_i에 저장. 부호를 만날 경우 else if문에서, stoi() 함수로 tmp_i를 정수형으로 변환하여 answer에 저장 및 tmp_i를 초기화하고 tmp_s에는 부호 문자를 저장. for loop가 끝난 후, if ~ else if ~ else문을 통해 tmp_s에 저장된 부호에 따라 tmp_i를 정수형으로 변환하여 연산 처리 및 return

풀이

#include <string>

using namespace std;

int solution(string binomial) {
    int answer = 0;
    string tmp_i, tmp_s;
    
    for(int i = 0; i < binomial.size(); ++i) {
        if('0' <= binomial[i] && binomial[i] <= '9') tmp_i += binomial[i];
        else if(binomial[i] != ' ') {
            answer += stoi(tmp_i);
            tmp_i = "";
            tmp_s = binomial[i];
        }
    }
    if(tmp_s == "+") return answer += stoi(tmp_i);
    else if(tmp_s == "-") return answer -= stoi(tmp_i);
    else return answer *= stoi(tmp_i);
}
profile
Keep Recycling Your Dreams

0개의 댓글