[TIL] 241214 (프로그래머스 조건 문자열)

·2024년 12월 14일

TIL

목록 보기
249/268
post-thumbnail

오늘 한 일

  • 알고리즘 코드카타
    • 조건 문자열

알고리즘 코드카타

조건 문자열

문제

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

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

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

풀이

function solution(ineq, eq, n, m) {
    if (ineq===">"&&eq==="="){
        return Number(n >= m)
    } else if (ineq==="<"&&eq==="="){
        return Number(n <= m)
    } else if (ineq===">"&&eq==="!"){
        return Number(n > m)
    } else {
        return Number(n < m)
    }
}

주어진 문제대로 정석적인 방법으로 문제를 풀이했다.

다른 사람의 풀이

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));
}
function solution(ineq, eq, n, m) {
    if (eq === '=' && n === m) return 1
    if (ineq === '<' && n < m) return 1
    if (ineq === '>' && n > m) return 1
    return 0
}
profile
웹 프론트엔드 개발자

0개의 댓글