[백준/C++] 5656 - 비교 연산자

orangesnail·2025년 5월 17일

백준

목록 보기
113/169

https://www.acmicpc.net/problem/5656


해결하기

처음에는 모든 연산자에 대해 if (연산자) 안에 해당 연산자에 맞추어 실제로 a, b를 비교하는 코드를 짜려고 했었다. 그런데 아무리 생각해도 너무 코드 양이 많아서 이게 맞나...싶었다.

모든 if문 안에서 true/false를 출력하는 대신 아래처럼 결과를 bool형 변수에다가 받은 뒤, 맨 마지막에 cout를 한번만 해주는게 훨씬 코드가 깔끔해 보인다.

#include <iostream>
using namespace std;

int main() {
    int count = 0;
    while (true) {
        count++;
        int a, b;
        string op;
        cin >> a >> op >> b;

        if (op == "E") break;

        bool result = false;
        if (op == ">") result = (a > b);
        else if (op == ">=") result = (a >= b);
        else if (op == "<") result = (a < b);
        else if (op == "<=") result = (a <= b);
        else if (op == "==") result = (a == b);
        else if (op == "!=") result = (a != b);
        
        cout << "Case " << count << ": " << (result ? "true" : "false") << endl;
    }

    return 0;
}
profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글