본문 바로가기
알고리즘

[CodeKata] Week 1 - Day 4 ( JavaScript )

by 프린벼르 2022. 2. 17.

codekata 4일째 문제

1. 나의 생각 흐름

배열 메소드인 reverse를 사용해야겠다고 생각했다. 그래서 숫자인 num을 문자열로 변환시켜줘야했고 이걸 각각의 문자열로 바꾸어서 다시 묶어준 후, 정수로 변환시켜야겠다고 생각했다. 

2. 나의 코드 정리

const sameReverse = num => {
  let answer = parseInt(num.toString().split('').reverse().join(''));
  // 배열 메소드 reverse를 사용해야해서 숫자num을 toString으로 문자로 바꿔준 후, split을 통해
  // 각각의 숫자로 만들어준 후, reverse를 통해 반대로 숫자 배열을 만들어준다
  // 그 후, join메소드를 통해서 하나의 문자열로 만들고 나서 다시 숫자로 만들어주기위해
  // parseInt를 써준다. 
  if( answer === num){return true;}
  // 위의 num의 정반대인 answer와 num을 비교해서 같은 값이면 true를 반환해주고 다른값이면 false
  // 를 반환해준다
  else{return false;}
}

3. 결론

1번 문제와 비슷한 유형의 문제이다. 배열 메소드를 사용하기 위해선 문자열로 꼭 변환해야한다는 점과 그 후, split으로 그 숫자를 하나하나씩 쪼갠 후 뒤집고 나서 join으로 합쳐준 것을 다시 숫자로 변환해야한다는 것을 알면 for문을 사용하거나 복잡하게 여러줄 쓰지 않아도 구현이 가능하다. 적절하게 메소드를 잘 사용할 줄 아는 연습부터 많이 해야할 것 같다.

댓글