문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
n과 m이라면
n >= mn <= mn > mn < m 두 문자열 ineq와 eq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다. 그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.
n, m ≤ 100| ineq | 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));
}