🔻PS/Baekjoon

[Baekjoon] 백준 13420 사칙연산 C++

_니지 2022. 10. 27. 17:00

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

 

13420번: 사칙연산

사칙연산은 덧셈, 뺄셈, 곱셈, 나눗셈으로 이루어져 있으며, 컴퓨터 프로그램에서 이를 표현하는 기호는 +, -, *, / 와 같다. 아래는 컴퓨터 프로그램에서 표현한 사칙 연산의 예제이다. 3 * 2 = 6 문

www.acmicpc.net

 

문제

사칙연산은 덧셈, 뺄셈, 곱셈, 나눗셈으로 이루어져 있으며, 컴퓨터 프로그램에서 이를 표현하는 기호는 +, -, *, / 와 같다. 아래는 컴퓨터 프로그램에서 표현한 사칙 연산의 예제이다.

3 * 2 = 6

문제와 답이 주어졌을 때, 이를 계산하여 올바른 수식인지 계산하는 프로그램을 만들려고 한다. 만약 주어진 데이터가 3 * 2 = 6 이라면 정답으로, 3 * 2 = 7 이면 오답으로 채점을 하면 된다. 문제와 답이 주어졌을 때, 이를 채점하는 프로그램을 작성하시오.

입력

입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 수식이 주어진다. 수식은 문자와 기호가 공백으로 구분되어 주어지고, 사칙연산 기호는 1개만 사용된다. 나눗셈의 경우 항상 나누어떨어지는 경우로만 주어진다.

출력

출력은 표준 출력을 사용한다. 입력받은 데이터에 대해, 각 테스트 케이스의 답을 순서대로 1줄에 1개씩 출력한다. 주어진 수식이 정답일 경우 “correct”를, 오답일 경우 “wrong answer”를 출력한다. 문제의 정답이 32비트 정수가 넘어갈 수 있다. 모든 범위가 부호가 있는 64비트 정수 이내이다.

예제 입력 1 

4
3 * 2 = 6
11 + 11 = 11
7 - 9 = -2
3 * 0 = 0

예제 출력 1 

correct
wrong answer
correct
correct

 

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
using namespace std;
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <functional>
#include <cmath>
#include <map>
#include <set>
#define _CRT_SECURE_NO_WARNINGS
#define INF 987654321
#define ll long long
typedef pair<intint> PII;
 
 
 
int main() {
    int  t;
    cin >> t;
 
    while (t--) {
        ll a, b, ans;
        char op, equal;
        cin >> a >> op >> b >> equal >> ans;
 
        if (op == '+') {
            if (a + b == ans) {
                cout << "correct" << "\n";
            }
            else {
                cout << "wrong answer" << "\n";
            }
        }
        else if (op == '-') {
            if (a - b == ans) {
                cout << "correct" << "\n";
            }
            else {
                cout << "wrong answer" << "\n";
            }
        }
        else if (op == '*') {
            if (a * b == ans) {
                cout << "correct" << "\n";
            }
            else {
                cout << "wrong answer" << "\n";
            }
        }
        else if (op == '/') {
            if (a / b == ans) {
                cout << "correct" << "\n";
            }
            else {
                cout << "wrong answer" << "\n";
            }
        }
    }
 
 
    return 0;
}
cs
728x90
반응형