본문 바로가기
알고리즘/프로그래머스 문제-JS

[JS&Python]자연수 뒤집어 배열로 만들기

by sweesweet 2022. 4. 26.

 

파이썬

- 문자열 변환으로 푼 것

def solution(n):
    li=[]
    for i in str(n)[: :-1]: 
    #n을 string으로 변환 후 for문을 돌릴 때 거꾸로 돌리기.
        li.append(int(i))
        # 빈 배열에 추가
    return li
더보기
테스트 1 통과 (0.03ms, 10.1MB)
테스트 2 통과 (0.02ms, 10.3MB)
테스트 3 통과 (0.02ms, 10.3MB)
테스트 4 통과 (0.02ms, 10.3MB)
테스트 5 통과 (0.02ms, 10.3MB)
테스트 6 통과 (0.02ms, 10.3MB)
테스트 7 통과 (0.03ms, 10.3MB)
테스트 8 통과 (0.02ms, 10.2MB)
테스트 9 통과 (0.02ms, 10.3MB)
테스트 10 통과 (0.02ms, 10.3MB)
테스트 11 통과 (0.02ms, 10.3MB)
테스트 12 통과 (0.02ms, 10.3MB)
테스트 13 통과 (0.02ms, 10.4MB)

 

형 변환 없이 푼 것 

def solution(n):
    li=[]
    while n>=1:
        li.append(n%10)
        n//=10
    return li
더보기
테스트 1 통과 (0.00ms, 10MB)
테스트 2 통과 (0.00ms, 10.3MB)
테스트 3 통과 (0.00ms, 9.97MB)
테스트 4 통과 (0.00ms, 10.3MB)
테스트 5 통과 (0.00ms, 10MB)
테스트 6 통과 (0.00ms, 10.2MB)
테스트 7 통과 (0.00ms, 10.2MB)
테스트 8 통과 (0.00ms, 10MB)
테스트 9 통과 (0.00ms, 9.95MB)
테스트 10 통과 (0.00ms, 10.3MB)
테스트 11 통과 (0.00ms, 10.1MB)
테스트 12 통과 (0.00ms, 10.2MB)
테스트 13 통과 (0.00ms, 10.2MB)

역시 형 변환을 하지않고 푸는 방법이 더 빠름

 

자바 스크립트

- 숫자=>문자열변환 후 => 숫자

function solution(n) {
    let answer = String(n)// 문자열로 변환
    let array =[]// 빈 배열 할당
    for(let i =answer.length-1; i >=0 ;i--){
     // i를 n의 길이-1의 값으로 해놓고 1씩 감소
        array.push(Number(answer[i]))
        // array에 푸시
    }
    return array
}

 

더보기
테스트 1 통과 (0.08ms, 30.2MB)
테스트 2 통과 (0.05ms, 30.2MB)
테스트 3 통과 (0.06ms, 30MB)
테스트 4 통과 (0.05ms, 29.9MB)
테스트 5 통과 (0.05ms, 30MB)
테스트 6 통과 (0.05ms, 30MB)
테스트 7 통과 (0.06ms, 29.9MB)
테스트 8 통과 (0.07ms, 30MB)
테스트 9 통과 (0.05ms, 30MB)
테스트 10 통과 (0.04ms, 29.5MB)
테스트 11 통과 (0.05ms, 30MB)
테스트 12 통과 (0.05ms, 29.9MB)
테스트 13 통과 (0.08ms, 29.8MB)

 

자료형 변환 없이

function solution(n) {
    let answer=[] // 빈 배열
    while(n>=1){
        answer.push(n%10)
       n=Math.floor(n/10)//소숫점 버림
        
    }
    return answer
}
더보기
테스트 1 통과 (0.06ms, 29.7MB)
테스트 2 통과 (0.04ms, 29.6MB)
테스트 3 통과 (0.04ms, 29.5MB)
테스트 4 통과 (0.05ms, 29.7MB)
테스트 5 통과 (0.05ms, 30.1MB)
테스트 6 통과 (0.04ms, 30.1MB)
테스트 7 통과 (0.09ms, 29.6MB)
테스트 8 통과 (0.04ms, 29.9MB)
테스트 9 통과 (0.08ms, 30.1MB)
테스트 10 통과 (0.04ms, 30MB)
테스트 11 통과 (0.04ms, 29.9MB)
테스트 12 통과 (0.04ms, 30MB)
테스트 13 통과 (0.04ms, 29.9MB)