TIL 38. CodeKata(Reverse Number(2))
📌 문제 1
숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환하시오.
num: 숫자
return: true or false(뒤집은 모양이 num과 똑같은지 여부)ex) num = 123 => return false (뒤집은 모양이 321이기 때문)
num = 1221 => return true (뒤집은 모양이 1221이기 때문)
num = -121 => return false (뒤집은 모양이 121-이기 때문)
num = 10 -> return false (뒤집은 모양이 01이기 때문)
💻 풀이 방식
🎈 생각하기
- 숫자를 뒤집을 수 있는 상황을 만들기
- -와 0도 함께 뒤집게 되는 상황도 고려하기
=> 0와 -도 뒤집을 수 있는 조건이기 때문에 값들을 string으로 만들어 각 문자열 하나하나 배열로 넣은 다음 reverse시키고 합치는 것을 구현하면 될 것 같다.
const sameReverse = num => { // Number type을 string type으로 변환하기 const answer1 = num.toString(); // string으로 변환한 값을 문자열 단위로 쪼개서 배열에 넣기 const answer2 = answer1.split(''); // 배열에 넣은 문자열들을 뒤집기 const answer3 = answer2.reverse(); // 뒤집은 문자열 element들을 다시 하나의 값으로 합치기(join이 빈 문자열을 받으면 하나하나 쪼개어 진다.) const answer4 = answer3.join(''); //이렇게 나온 값을 Number화 시키기 const answer5 = Number(answer4);
// 조건을 주고 마무리하기 return num === answer5 ? true : false; }
🔍 코드 간략히!!
- 위의 방법은 너무 많은 변수들을 불필요하게 선언하였다. 그래서 최대한 로직을 줄여보고자 한다.
const sameReverse = num { const answer1 = Number(num.toString().split('').reverse().join('')); return num === answer1 ? true : false; }
- 이렇게 간단하게 끝낼 수 있는 로직을 항상 생각해보아야겠다!
Author And Source
이 문제에 관하여(TIL 38. CodeKata(Reverse Number(2))), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@syeon02/TIL-38.-CodeKataReverse-Number2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)