Koala - 7기/기초 알고리즘 스터디

[백준/C++] 5704 팬그램

hoeunwang 2022. 7. 10. 17:08

 

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

 

13985번: Equality

Print, on a single line, YES if the sum is correct; otherwise, print NO.

www.acmicpc.net


문제해석


연산식을 입력했을 때, 그 값이 올바른지 판단하여 Yes/No를 출력해주는 문제이다.


코드


#include <iostream>
#include <string>
using namespace std;

int main() {
    char a[10];
    cin.getline(a,10);
    
    if ((a[0] - '0') + (a[4] - '0') == (a[8] - '0'))
        cout << "YES" << '\n';
    else
        cout << "NO" << '\n';
}

문제풀이


cin.getline 함수를 사용하면 쉽게 풀 수 있다. 괄호안에는 (입력받을 char형 배열이름, 입력받을 길이) 이와 같은 형태로 써주면 된다. 배열로 받았을때 첫번째 세번째 다섯번째의 숫자값을 '0'을 빼주어 char을 int 값으로 바꾸어주고 연산한 값이 부등호 옆 숫자의 값과 동일한지 if문으로 구분하여 yes, no를 출력시키게 한다. '0'을 빼주는 방식과 cin.getline 함수를 알면 간단하게 풀 수 있는 문제였다.