문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
n
과 m
이라면
n
>= m
n
<= m
n
> m
n
< m
두 문자열 ineq
와 eq
가 주어집니다. ineq
는 "<"와 ">"중 하나고, eq
는 "="와 "!"중 하나입니다. 그리고 두 정수 n
과 m
이 주어질 때, n
과 m
이 ineq
와 eq
의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.
n
, m
≤ 100ineq | eq | n | m | result |
---|---|---|---|---|
"<" | "=" | 20 | 50 | 1 |
">" | "!" | 41 | 78 | 0 |
입출력 예 #1
입출력 예 #2
※ 2023.05.31 테스트 케이스가 수정되었습니다. 기존에 제출한 코드가 통과하지 못할 수도 있습니다.
function solution(ineq, eq, n, m) {
return eq==='=' ? (eval(`${n}${ineq}${eq}${m}`)? 1 : 0 ) : (eval(`${n}${ineq}${m}`)? 1 : 0);
}
eval()
은 사용하면 안되나보다... ㅠ
다른풀이
if (eq === '=' && n === m) return 1
if (ineq === '<' && n < m) return 1
if (ineq === '>' && n > m) return 1
return 0
const operations = {
'>=': (n, m) => n >= m,
'<=': (n, m) => n <= m,
'>!': (n, m) => n > m,
'<!': (n, m) => n < m,
};
function solution(ineq, eq, n, m) {
const op = operations[ineq + eq];
return Number(op(n, m));
}