그때 그 시절 떠올랐던 개념을 정리하는 시간을 가져볼까해요.
이틀차에 풀었던 문제와 비슷했고 다만 절대값으로 변환되는과정을 생략하면 문제가 비슷했습니다.
문제 조건은 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 이기 때문
이라고 쓰여져 있었는데요.
오늘 기억해야할 문법은 String, Array from, reverse, join(' ')입니다.
const sameReverse = num => {
} 가닥을 잡으려면 먼저 num이라는 숫자를 문자열로 변환을 해줘야합니다.
그럼 const string 이라는 변수를 주고 String문법을 사용해서
const string = String(num)으로 적어줍니다. 그럼 숫자열이 문자열로 변하지요
예를들어서 num이 123이라고 한다면 문자열로 변환돼면 '123'이라고 변환이 됩니다.
그럼 다시 '123'을 배열로 만들어줘야하는데요.
const array 이라는 변수를 주고 Array.from이라는 문법을 사용하게 돼면 문자열이 배열로 변환이 됩니다. 그래서 "123'에서 ['1','2','3']로 변환이 되겠죠>?
그럼 다시 한번 배열로 만든 문자열을 뒤집습니다. 이때 필요한 문법은 reverse()로 생각을 해야하는데요.
const reverse = array라는 변수에 reverse를 통해 변환이 되어야 하니깐
const reverse = array.reverse()이 되겠네요.
그다음에느 const newNum이라는 변수를 주고 뒤집힌 배열을 합쳐서 숫자열로 만들어줄껀데요. 이때 필요한 문법은 reverse.join(' ')문법을 통해야하는데요.
const newNum = Number(reverse.join('')) 이렇게 표현이 되겠습니다.
그래서 만약에라는 if 문을 줘야 true, false 구별해야해서..
코드를 작성한다면???
if ( num ==== newNum ) 같다면????
return 은 true가 나와서 진실이고
같지 않다면 return 은 false가 나와야 합니다.
결국 다시 문제를 해결한다면???
const sameReverse = num => {
const string = String(num)
const array = Array.from(string)
const reverse = array.reverse()
const newNum = Number(reverse.join(' ')
}
if (nun === newNum) {
return true
} else {
return false
}
}
이 되겠네요.