CodingTest/JavaScript Q
[JavaScript] 숫자인 인자를 뒤집은 모양이 num과 똑같은지 여부를 반환
yangseon
2022. 10. 7. 20:34
(문제)
- 숫자인 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 이기 때문
(정답1)
const sameReverse = num => {
let str = num.toString()
let strN = ""
for (let i = str.length - 1; i >= 0; i--) {
strN += str[i]
}
if (str === strN) {
return true
} else {
return false
}
}
console.log(sameReverse(-1234)) // false
console.log(sameReverse(1001)) // true
- 정수(양의정수, 음의정수) 인 숫자가 음수 일 경우가 있어 toString()으로 num 값을 변경해주고
- 빈 값의 변수를 하나 선언해줍니다
- 반복문을 뒤집어진 숫자로 반환 해야되므로 반복문을 끝에서 앞으로 실행해주고
- 반복문을 통해 나온 값을 strN 변수에 추가 해줍니다
- str === strN 뒤집은 값이 동일 할 경우 true, 다른경우 false를 반환 합니다
(정답2)
const sameReverse = num => {
return Number(num.toString().split('').reverse().join('')) === num
}
console.log(sameReverse(1221)) // true
- num을 toString() 메서드를 사용해 문자열로 변환하고
- split('') 메서드를 사용해 문자로 분리하고
- reverse() 메서드를 사용해 문자를 뒤집고
- join('') 메서드를 사용해 따옴표를 지우고
- 마지막으로 Number() 메서드로 숫자로 변환하고
- 그리고 num과 비교하여 true & false를 반환한다