TIL

자연수 뒤집어 배열로 만들기

devyu0001 2024. 12. 4. 15:09

문제 : 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요

. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

 

 

1. 숫자에는 자릿수를 직접 분할 할 수 있는 방법이 없어서 먼저 toString()을 사용하여 숫자 n 문자열로 변환

2. .split('')을 사용하여 문자열을 문자 배열로 변환 예)'12345' 는 ['1','2','3','4','5'] 가 된다

3. 배열을 반전 시키기 reverse() 로 뒤집기

4. 다시 숫자로 변환하기 .map(Number) 를 사용하여 각 문자열 요소를 다시 숫자로 변환

5. 결과 숫자 배열을 반환한다!!!!

 

function flipNumberToArray(n) {
   const numStr = n.toString();
   const charArray = numStr.split('');
  const reversedArray = charArray.reverse();
   const result = reversedArray.map(Number)
   return result;

}

완성코드!!

처음엔 그냥 숫자를 바로 reverse()를 사용해서 뒤집으면 되는줄알고 쉽게 생각했었는데 아무일도 일어나지 않아 찾아보니 문자열로 바꾸고 배열로 변환하고 뒤집어야 하는것을 발견!!그리고 다시 숫자로 변환해야 한다.. 생각보다 복잡한 코딩의 세계...

생각해보다가 저 코드를 좀 더 간략히 할 수 있지 않을까 찾아보니

 

function solution(n) {
    return n.toString().split('').reverse().map(Number);
}

이렇게 간략하게 짤 수 있었다!!!!! n옆으로 함수만 쳐도 똑같은 결과가 나온다!!! 

이런 n옆에 함수들을 JavaScript 에서는 메서드라고 부른다고 한다

메서드란? 객체에 속하는 함수이다

JavaScript에서는 거의 모든 것이 객체(예: 문자열, 숫자, 배열 등)이며 이러한 객체에는 조작하거나 상호 작용하는 데 사용할 수 있는 메서드가 있다.

함수가 개체에 연결되지 않은 경우 "메서드"가 아닌 "함수"라고 한다

 

 

'TIL' 카테고리의 다른 글

두 정수의 사이 합  (0) 2024.12.09
루트,제곱값 구하기  (1) 2024.12.06
조건문  (0) 2024.12.05
'let', 'const', 'var' 차이점  (2) 2024.12.03
모듈로 연산  (1) 2024.12.02