프로그래머스 181934번 조건 문자열 - Python, Java
문제 설명
문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
- 두 수가
n과m이라면- ”>”, “=” : n >= m
- ”<”, “=” : n <= m
- ”>”, “!” : n > m
- ”<”, “!” : n < m
두 문자열 ineq와 eq가 주어집니다. ineq는 “<”와 “>”중 하나고, eq는 “=”와 “!”중 하나입니다. 그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 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를 반환한다.
- ==