문제
* 숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.
ex) num: 숫자, return: true or false (뒤집은 모양이 num와 똑같은지 여부)
문제 해결 방법 구상
1) 인자로 받은 숫자에 문자열 메소드를 사용하기위해 일단 문자열로 전환한 후, 쪼개고, 뒤집어서 다시 합친 후 이 값을 인자와 비교하여 결과를 리턴하였습니다.
2) 문자열의 순서를 뒤집은 값과 인자의 데이터 타입이 맞아야 비교가 가능하므로 비교시 인자를 문자열로 전환하였습니다.
코드 작성
function sameReverse (num) {
const conString = String(num); // split 메소드 사용을 위해 인자를 문자열로 변환
const arr = conString.split(“”); // reverse 메소드 사용을 위해 문자열에 split 사용
const revArr = arr.reverse(); // 문자열을 문자단위로 자르고 순서를 뒤집은 배열을 revArr 배열에 저장
const revnum = revArr.join("") // revArr 배열의 값을 문자열로 합쳐서 revnum 에 저장
if (revnum === String(num)) { // 정확한 비교를 위해 인자와 revnum 의 데이터 타입을 문자열로 맞춤
return true;
} else {
return false;
}
}
작성 후 알게 된 점
1) 기존에 배열의 각 값의 순서를 뒤집을 때나, 각 값을 하나의 문자열로 합칠때 for 문을 사용하여 해결했었는데, reverse, join 메소드를 알게되어 쉽게 해결하였습니다.