diesuki4 2023. 1. 28. 03:49
Level 0. OX퀴즈

 

 

예전에 Stack을 활용해서 다항식 파싱했던 방법이 가물가물한데 이 문제는 항의 개수가 2개로 정해져 있어 그럴 필요까지는 없었다.

 

istringstream을 이용해 파싱을 진행하여 해결했다.

 

벡터 내에서 메모리가 재할당되는 것을 막기 위해 emplace_back 대신 필요한 만큼 크기를 미리 할당하여 사용했다.

 

#include <iostream>
#include <vector>
#include <sstream>

using namespace std;

vector<string> solution(vector<string> quiz)
{
    size_t size = quiz.size();
    vector<string> answer(size);

    for (int i = 0; i < size; ++i)
    {
        istringstream iss(quiz[i]);
        int n1, n2, nResult;
        char op, eq;

        iss >> n1 >> op >> n2 >> eq >> nResult;

        answer[i] = ((op == '+' ? n1 + n2 : n1 - n2) == nResult) ? "O" : "X";
    }

    return answer;
}