알고리즘_자연수 뒤집어 배열로 만들기

정재연·2022년 1월 18일
0

알고리즘

목록 보기
7/23

자연수 뒤집어 배열로

1. 문제 설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

2. 제한 조건

n은 10,000,000,000이하인 자연수입니다.

3. 입출력 예

nreturn
12345[5,4,3,2,1]

4. 나의 문제 풀이

1. 숫자를 문자로 바꾼다음 for문의 '--'감소를 이용해 n의 반대로 순서로 배열에 입력하자.
2. 입력 하기전 숫자로 다시 변경해 주자
function solution(n) {
  let answer = []
  //문자열로 변경한 이유 = 숫자는 length를 인식 못하기 때문!
  let toStr = n.toString();
  
  for(let i = toStr.length-1; i >= 0 ;i--) {
        answer.push(parseInt(toStr[i]))
    }
    return answer
}

i를 -- 줄여 주었다.
최종 결과는 배열안에 숫자열로 들어가야 해서
문자열로 변경해 주었던 것은 다시 parseInt()으로 숫자로 변경해 주었다.

5. 다른 사람들의 풀이

	return (n+"").split("").reverse().map(v => parseInt(v));

처음 부터 배열로 만들어서 배열에 관련된 매서드를 사용해서 문제를 풀었다.

(n+"") n에 ''빈 문자열을 더해 줘서 문자열로 변경해 준다음.
split("") 문자 하나씩 잘라냈다.
reverse() 배열을 반대로 정렬해주는 매서드
map 각 배열안에 문자를 parseInt()으로 숫자로변경

6. 생각정리

풀이 과정은 비슷 했지만, 처음 사용하고 싶었던 배열 관련된 매서드를 split을 이용해서 배열로 변경한다음 사용했으면 하는 아쉬움이 남는다.

profile
코린이 개발자 :)

0개의 댓글