Fake Binary

Given a string of digits, you should replace any digit below 5 with '0' and any digit 5 and above with '1'. Return the resulting string.

문제 풀이

function fakeBin(x){
  let xList = x.split("");
  let sol = [];
  for (let i=0; i < x.length; i++) {
    if (Number(xList[i]) < 5) {
      sol.push("0");
      }
    else {
      sol.push("1");
      }
    }
  return sol.join("")
}

깔끔한 문제풀이

function fakeBin(x) {
    return x.split('').map(n => n < 5 ? 0 : 1).join('');
}

중요개념

  • 화살표 함수
    • 화살표 표기법은 간단히 말해 function이라는 단어와 중괄호를 줄일 수 있다.
    • function을 생략해도 된다.
    • 함수에 매개변수가 단 하나 뿐이라면 괄호도 생략할 수 있다.
    • 함수 바디가 표현식이라면 중괄호와 return을 생략할 수 있다.
  • if ... else 문을 3항 연산자로 바꾸기
    • condition ? expr1 : expr2
    • condition: true 혹은 false 평가되는 표현식
    • expr1, expr2: 모든 형식의 값을 지닌 표현식
    • 삼항 연산자는 if / else 문을 사용하는 함수를 반환하는 데 적합
    • 다중으로 삼항 연산자 가능