코트카타 1주차 4번 (회문)

Steve·2021년 9월 18일
0

문제
숫자인 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 이기 때문

해결)
step1. -가 들어오는것을 감안하여 배열화 시켜서 각각의 자리에 인덱싱을 한 후 첫값과 끝값 비교 후 안쪽으로 들어오는 구상을 했다. 코드는 다음과 같다.

const sameReverse = num => {
  let str = String(num); // 받은 숫자를 문자열화
  let arr = str.split(''); // 그 문자열을 배열화
  
  for(i=0 ; i < (arr.length/2) ; i++){ // 회문 검사를 위해선 반만큼만 시행하면 된다.
    if(arr[i] !== arr[arr.length-(i+1)]){ // 첫값과 끝값이 같지 않다면 바로 탈출하게 한다.
      return false
    }
  }
  return true; // 안쪽 깊숙히 들어올때까지 회문이 가능하다면 true 배출
}



profile
Front-Dev

0개의 댓글