1 분 소요

문제 설명

프로그래머스 181934번 조건 문자열

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

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

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

제한 사항

  • 1 ≤ n, m ≤ 100

입출력 예시

예시 1

ineq eq n m result
”<” ”=” 20 50 1
”>” ”!” 41 78 0

입출력 예 설명 1

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

입출력 예 설명 2

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

코드 구현

Python

def solution(ineq, eq, n, m):
    if ineq == ">" and eq == "=":
        return 1 if n >= m else 0
    elif ineq == "<" and eq == "=":
        return 1 if n <= m else 0
    elif ineq == ">" and eq == "!":
        return 1 if n > m else 0
    else:
        return 1 if n < m else 0

Java

class Solution {
    public int solution(String ineq, String eq, int n, int m) {
        if (ineq.equals(">") && eq.equals("=")) {
            return n >= m ? 1 : 0;
        } else if (ineq.equals("<") && eq.equals("=")) {
            return n <= m ? 1 : 0;
        } else if (ineq.equals(">") && eq.equals("!")) {
            return n > m ? 1 : 0;
        } else {
            return n < m ? 1 : 0;
        }
    }
}

배운 점 - Java

  • Java에서 String 값을 비교할 때는 ==이 아니라 equals() 메서드를 사용해야 한다.
    • ==
      • 참조값을 비교한다.
      • 두 String 객체가 같은 메모리 주소를 참고하는 경우에만 true를 반환한다.
    • equals()
      • 문자열의 내용을 비교한다.
      • 두 String 객체의 내용이 같으면 true를 반환한다.