[프로그래머스/C++]Lv.0 - OX퀴즈

YH J·2023년 4월 21일
0

프로그래머스

목록 보기
67/168

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/120907

시도한 방법

stringstream을 알기 전까지는 char 하나하나 분해해가면서 숫자인지 기호인지 판별해가면서 해보려했었다.

내 코드

//if문으로 글자 하나하나 보면서 숫자면 숫자가 연속되었는지, 그 전에 -를 만났는지 = 을 만났는지
//다 if문으로 체크 할 생각했었음.

다른 사람의 풀이

#include <string>
#include <vector>
#include <sstream>

using namespace std;

vector<string> solution(vector<string> quiz) {
    vector<string> answer;

    for(string& q : quiz)
    {
        stringstream ss(q);
        string x, y, z;
        string op;
        string eq;
        ss >> x;
        ss >> op;
        ss >> y;
        ss >> eq;
        ss >> z;

        int result;
        switch(op[0])
        {
            case '+':
                result = stoi(x) + stoi(y);
                break;
            case '-':
                result = stoi(x) - stoi(y);
                break;
            default:
                break;
        }

        if(result == stoi(z))
            answer.push_back("O");
        else
            answer.push_back("X");
    }

    return answer;
}

다른 사람의 풀이 해석

stringstream으로 파싱한다. 수식은 무조건 숫자 연산자 숫자 = 숫자 로 되어있기 때문에 그대로 파싱한다.

profile
게임 개발자 지망생

0개의 댓글