알고리즘
[Programmars] 자연수 뒤집어 배열로 만들기 (JavaScript)
프린벼르
2022. 2. 1. 00:48
1. 나의 생각 흐름
앞에서 풀었던 문제들과 비슷한 유형의 문제였다. 우선 뒤집어야하니 reverse()를 써야한다는 생각을 했고 숫자를 배열로 만들어줘야 하니 앞에서 배운 문법을 쓰면 되겠다는 생각을 했다.
2. 내 코드
function solution(n) {
let answer = [];
let str = (n+'').split('').map(Number);
answer = str.reverse();
return answer;
}
< "숫자->문자"로 변환 후 배열로 만들기 : split이용 >
타입이 숫자(number)인 경우 split을 사용할 수 없기 때문에 숫자에 ''을 더해 문자로 만들어주고, split('')을 사용하여
배열로 만들어 주는 방법!! ===> let arr = (n + '').split('').map(Number);
★ .map(Number)를 split 함수 뒤에 써주면 자동으로 문자=>숫자 바껴서 배열로 들어가게 됨! ★
** reverse() 함수 : 배열의 순서를 거꾸로 만들어 준다.
array.reverse()
이 함수를 호출한 배열을 거꾸로 뒤집고, 그 배열을 가리키는 참조값을 반환한다.
따라서, 이 함수를 실행시키면 원본 배열이 변형된다.
3. 다른 사람들의 코드
function solution(n) {
return (n + '').split('').reverse().map(n => parseInt(n));
}
정말 간결하게 만든 코드 같다. 역시 map함수를 쓰면 간단해지는 마법이!
** map 함수 ( 예시와 사용법 )
const numbers = [1, 2, 3, 4, 5]; const result = numbers.map(number => number * number); console.log(numbers); // 결과값 [1, 2, 3, 4, 5]; console.log(result); // 결과값 [1, 4, 9, 16, 25]
const numbers = [1]; numbers.map((number, index, source) => { // number: 요소값 // index: source에서 요소의 index // source: 순회하는 대상 console.log(number); // 1 console.log(index); // 0 console.log(source); // [1] return number * number; });
4. 결론
map함수의 사용법도 잘 알아두자..!