잡다한 배똥월드

728x90
코딩 테스트 풀이 체크리스트
2시간 내에 풀었는가? O
본인의 실력으로 풀었는가? O

 

 

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

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

programmers.co.kr

 

 

 

 

 

class Solution {
    fun solution(n: Long): IntArray {
        var answer = IntArray(n.toString().length);
        var num = n;
        var index = 0;
        
        do {
            answer[index] = (num % 10).toInt();
            num /= 10;
            index++;
        } while (num > 0);
        
        return answer
    }
}

 

테스트 1 통과 (0.03ms, 64.4MB)
테스트 2 통과 (0.03ms, 62.5MB)
테스트 3 통과 (0.02ms, 61.4MB)
테스트 4 통과 (0.03ms, 61.8MB)
테스트 5 통과 (0.03ms, 63.6MB)
테스트 6 통과 (0.02ms, 63.7MB)
테스트 7 통과 (0.03ms, 63MB)
테스트 8 통과 (0.02ms, 64.5MB)
테스트 9 통과 (0.02ms, 62.6MB)
테스트 10 통과 (0.02ms, 64.5MB)
테스트 11 통과 (0.02ms, 63.4MB)
테스트 12 통과 (0.02ms, 63.1MB)
테스트 13 통과 (0.03ms, 64.7MB)

 

 

 

 

 

방금 전에 풀었던 식이랑 비슷하게 사용할 수 있어서 그대로 사용

일단 Int배열을 n의 길이로 해서 선언

그리고 n의 값을 그대로 가진 num이라는 녀석을 선언하는데,

이 녀석을 10으로 나누면서 나머지를 answer에 그대로 추가.

이 때 num % 10은 long형이기 때문에 toInt()로 형 변환을 한 후 answer에 넣고

num이 0이 되면 while문 탈출

그리고 그대로 answer을 리턴하면 된다.

 

 

 

 

 

728x90

+ Recent posts