문제 : 자연수 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 |