Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 모두사인
- 코딩테스트
- 좋은습관
- 아이폰13
- 모두싸인마케터
- javascript
- 전자계약시스템
- 온라인계약
- 전자계약서
- 전자계약솔루션
- 독서리뷰
- atomichabits
- 독후감
- 모두싸인
- 아이폰12
- 습관
- 갤럭시노트20
- 아이폰
- 전자계약서비스
- 옥소폴리틱스
- 자릿수더하기
- 모두의사인
- 아주작은습관의힘
- map
- 마케팅
- 자바스크립트
- 알고리즘
- 전자계약
- 블록체인
- 모두싸인마케팅
Archives
- Today
- Total
찰리의 이야기
Javacsript 자연수 뒤집어 배열로 만들기 본문
반응형
Javacsript 자연수 뒤집어 배열로 만들기
문제 : 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한 조건
- n은 10,000,000,000이하인 자연수입니다.
입출력 예
nreturn
12345 | [5,4,3,2,1] |
주어진 코드 ↓
function solution(n) {
var answer = [];
return answer;
}
지난 번 정수 내림차순으로 배치 문제와 유사해서
내장 메서드를 이용해서 풀어보았다.
알고보니 이런 접근을 문자 풀이 방식이고,
숫자 풀이방식으로도 풀 수 있었다. 살펴보도록 하자.
function solution(n) {
return n.toString().split("").map(x => Number(x)).reverse();
}
자연수를 문자열로 바꾼 다음,
split("")으로 문자열을 하나하나 인덱스로 넣은 다음,
map()메서드를 이용해서 내부 인덱스들을 숫자화 한다음,
reverse()로 순서를 바꾸어 주었습니다.
여기까지가 제 풀이 방법이고
다른 풀이법도 살펴보았습니다.
function solution(n) {
// 숫자풀이
var arr = [];
do {
arr.push(n%10);
n = Math.floor(n/10);
} while (n>0);
return arr;
}
일단 do...while 문으로 반복하는데,
자연수의 순서를 바꾸기 위해서,
숫자의 맨 끝에서 한자리씩 떼어냅니다.
10으로 나눈 나머지를 구해서 배열에 넣습니다.
그리고나서 10으로 나눈 몫을 남겨서 다시 n으로 넘겨
한자리씩 마치 stack 처럼 넣으면서 순서를 바꾸는 것입니다.
문자 방식보다는 이 숫자방식이 더 빠르다고 합니다.
숫자로 순서를 바꿀때는 한자리씩 바꿔봅시다!
Javacsript 자연수 뒤집어 배열로 만들기
반응형
'찰리: 코딩 연습' 카테고리의 다른 글
Javascript 이상한 문자 만들기 (0) | 2021.09.15 |
---|---|
Javascript 자릿수 더하기 (0) | 2021.09.14 |
Javascript 정수 내림차순으로 배치하기 (0) | 2021.09.13 |
Javascript 정수 제곱근 판별 (0) | 2021.09.12 |
Javascript 제일 작은 수 제거하기 (0) | 2021.09.12 |
Comments