3일차 → 자연수 뒤집어 배열로 만들기(toString(), split(), reverse(), map())
본문 바로가기
항해 중/2주차 알고리즘(프로그래머스)

3일차 → 자연수 뒤집어 배열로 만들기(toString(), split(), reverse(), map())

by 은돌1113 2021. 11. 10.

문제설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴하세요

예를 들어 n이 12345이면 [5, 4, 3, 2, 1]을 리턴합니다.

 

제한사항

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

 

내가 푼 문제 풀이

function solution(n) {
    
  return (n+'').split('').reverse().map((item)=>{return parseInt(item)})
}

1) (n+'') : 숫자를 문자열 타입으로 변환한다. (== n.toString)

2) split('') : 문자열로 바뀐 n을 한글자씩 잘라서 배열에 담는다.

3) reverse() : 배열을 뒤집는다.

4) 배열함수 중 map() 함수를 사용하면 return한 결과값이 배열에 담기기 때문에 forEach() 대신 map()을 사용하였다.

5) item 요소의 값(문자열)을 parseInt()를 사용해서 숫자 타입으로 변환한다. (문자열 -> 숫자)

6) return 한다 -> map()를 돌면서 return된 값들이 배열에 담긴다.

 

다른 사람이 푼 문제 풀이

function solution(n) {
    const str_arr = (n+"").split('').reverse();

    let answer = []

    for( let i =0; i< str_arr.length; i++){
        answer.push(parseInt(str_arr[i]))
    }

    return answer

}

1) n을 숫자 -> 문자열로 변환 / split 함수를 사용해서 배열로 만들고 / reverse() 함수를 사용해서 배열을 뒤집는다.

2) for문을 사용해서 str_arr의 인덱스의 값을 parseInt()를 사용해서 숫자 타입으로 변환하고

3) push()를 사용해서 배열에 담는다.

https://zzemal.tistory.com/28

 

[프로그래머스] level1. 자연수 뒤집어 배열로 만들기 (javascript)

문제 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 나의 풀이 function solution(n) { const str_arr = (n+"").split('').rever..

zzemal.tistory.com

 

https://programmers.co.kr/learn/courses/30/lessons/12932

 

코딩테스트 연습 - 자연수 뒤집어 배열로 만들기

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345

programmers.co.kr

 

댓글