문제 정보


항목 내용
플랫폼 Programmers
난이도 Lv.0
문제 번호 181934
문제 링크 문제 보기
GitHub Link C++/프로그래머스/0/181934. 조건 문자열

문제


문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.

  • 두 수가 nm이라면
    • ">", "=" : n >= m
    • "<", "=" : n <= m
    • ">", "!" : n > m
    • "<", "!" : n < m

두 문자열 ineqeq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다. 그리고 두 정수 nm이 주어질 때, nmineqeq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.


제한 사항
  • 1 ≤ n, m ≤ 100

입출력 예
ineq eq n m result
"<" "=" 20 50 1
">" "!" 41 78 0

입출력 예 설명

입출력 예 #1

  • 20 <= 50은 참이기 때문에 1을 return합니다.

입출력 예 #2

  • 41 > 78은 거짓이기 때문에 0을 return합니다.

※ 2023.05.31 테스트 케이스가 수정되었습니다. 기존에 제출한 코드가 통과하지 못할 수도 있습니다.

입출력 예


ineq | eq | n | m | result

"<" | "=" | 20 | 50 | 1

">" | "!" | 41 | 78 | 0

입출력 예 설명

입출력 예 #1

- 20 <= 50은 참이기 때문에 1을 return합니다.

입출력 예 #2

- 41 > 78은 거짓이기 때문에 0을 return합니다.

※ 2023.05.31 테스트 케이스가 수정되었습니다. 기존에 제출한 코드가 통과하지 못할 수도 있습니다.

풀이 코드


조건 문자열.cpp

#include <string>
#include <vector>
#include <iostream>
#include <algorithm>

using namespace std;

int solution(string ineq, string eq, int n, int m) {
    int answer = 0;
    //ineq 가 '<' 인 경우
    if (ineq == "<") {

        //'<'면서 = 인경우
        if (eq == "=") {
            if (n <= m) 
            {
                answer = 1;
            }
            else 
            {
                answer = 0;
            }
        }

        if (eq == "!") {
            if (n < m) answer = 1;
            else answer = 0;
        }
    }

    //ineq 가 '>' 인 경우
    else if (ineq == ">") {

        //'>'면서 = 인경우
        if (eq == "=") {
            if (n >= m)
            {
                answer = 1;
            }
            else
            {
                answer = 0;
            }
            
        }

        if (eq == "!") {
            if (n > m) answer = 1;
            else answer = 0;
        }
    }

    return answer;

}