저장을 습관화
프로그래머스 LV.1 자연수 뒤집어 배열로 만들기 본문
프로그래머스 LV.1 자연수 뒤집어 배열로 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/12932
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 명
자연수 뒤집어 배열로 만들기
2. 문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
3. 제한 사항
n은 10,000,000,000이하인 자연수입니다.
4. 예시
n | return |
12345 | [5,4,3,2,1] |
5. 기본 제공 코드
function solution(n) {
var answer = [];
return answer;
}
6. 제출한 내 답
const solution = (n) => {
let answer = [];
let a = (n + "").split("");
for (i = a.length - 1; i >= 0; i--) {
b = Number(a[i]);
answer.push(b);
}
return answer;
};
6-2. VSC에 작성한 내용
const solution = (n) => {
let answer = [];
let a = (n + "").split("");
for (i = a.length - 1; i >= 0; i--) {
// 정수로 다시 변환 Number
b = Number(a[i]);
// 배열에 넣기 push
answer.push(b);
}
return answer;
};
// 테스트
console.log(solution(12345));
console.log(solution(12));
7. 특이사항
어떻게 하기는 했는데.. 참 볼품없다..
문제를 보니 마침 얼마전에 봤었던 정수를 배열로 만드는 방법이 생각났다.
230807 TIL - 데이터 타입 변환, Number()와 parseInt()의 차이, .toString()과 +""
1. String을 Number로 바꿀때, Number()와 parseInt() 둘 모두 문자열을 숫자로 변환하는 함수임은 같지만, 차이점으로는 1) NaN 처리 parseInt 문자열(abc)과 섞여있다면 숫자 부분만 변환하고 나머지 문자는
ctrs.tistory.com
대신 문제의 조건이 배열의 값들은 정수여야 하니
배열에 push하기 전에 정수로 변환하는 과정을 추가했다.
8. 다른 사람이 작성한 답
8-1.
function solution(n) {
// 문자풀이
// return (n+"").split("").reverse().map(v => parseInt(v));
// 숫자풀이
var arr = [];
do {
arr.push(n%10);
n = Math.floor(n/10);
} while (n>0);
return arr;
}
8-2.
function solution(n) {
// var arr = [];
// for (var i=0; i<n.length; i++) {
// arr.push(n[i]);
// console.log(n[i]);
// }
// console.log(arr);
// console.log('---------')
// return n.toString().split('').sort((a, b) => b > a).map(o => o = parseInt(o));
return n.toString().split('').reverse().map(o => o = parseInt(o));
}
8-3.
function solution(n) {
return (n + '').split('').reverse().map(n => parseInt(n));
}
8-4.
function solution(n) {
// 문자풀이
return (n+"").split("").reverse().map(v => parseInt(v));
// 숫자풀이
}
문자열로 된 배열로 만들고, 뒤집어서, 각 값들에 정수로 변환하는 메소드를 적용
훨씬 깔끔하네
'코딩 테스트 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 LV.0 짝수 홀수 개수 (0) | 2023.09.07 |
---|---|
프로그래머스 LV.0 양꼬치 (0) | 2023.08.11 |
프로그래머스 LV.1 나머지가 1이 되는 수 찾기 (0) | 2023.08.11 |
프로그래머스 LV.0 짝수의 합 (0) | 2023.08.11 |
프로그래머스 LV.0 각도기 (0) | 2023.08.11 |