CodeKata | Week 1 - Day 4

코딩하는붕어·2021년 6월 24일
0

알고리즘

목록 보기
4/12
post-thumbnail

🕰 숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.

num : 숫자 return: true or false (뒤집은 모양이 num와 똑같은지 여부)
예를 들어, num = 123은 return false => 뒤집은 모양이 321 이기 때문
num = 1221는 return true => 뒤집은 모양이 1221 이기 때문
num = -121는 return false => 뒤집은 모양이 121- 이기 때문
num = 10은 return false => 뒤집은 모양이 01 이기 때문



💡 My Solution

const sameReverse = num => {
  let value = String(num);  // num 인자를 문자열로 변환해준다.
  let arr = value.split('');  // split을 사용해서 배열로 쪼개준다.
  let reverseArr = arr.reverse();  // 새 배열에 arr 배열을 뒤집은 것을 넣어준다.
  let reverseNum = reverseArr.join('');  // reverseArr 배열의 값을 join으로 합쳐서 reverseNum 변수에 저장한다.

  if (reverseNum == num) {  // reverseNum과 문자열로 변환한 num 인자를 비교해서
    return true;  // 같으면 true 반환
  } else {
    return false;  // 다르면 false 반환
  }
}

Flow를 적어보면서 푸니까 문제 접근 방법에 대한 감이 슬슬 온다!! 😃

원래는

 if (reverseNum === String(num)) {  // reverseNum과 문자열로 변환한 num 인자를 비교해서
    return true;  // 같으면 true 반환
  } else {
    return false;  // 다르면 false 반환
  }
}

이렇게 엄격한 비교인 ===를 사용하고 num 인자의 type도 String으로 맞춰서 풀었는데
열음님이 == 를 사용하면 type까진 비교를 하지 않는다고 알려주셔서 좀 더 깔끔하게 코드를 바꿔봤다...!!!!❤️❤️❤️

profile
Lofi hiphop, Hifi develope

0개의 댓글