본문 바로가기

프로그래머스(Kotlin)/Level 1

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

728x90

코드 힌트 (2가지 방법)

  1. 자릿수 추출:
    • 주어진 숫자 n을 10으로 나눈 나머지를 이용하여 자릿수를 역순으로 추출합니다.
    • 각 자릿수를 리스트에 추가하고, 나눗셈으로 자릿수를 줄여나가며 모든 자릿수가 추출될 때까지 반복합니다.
  2. 리스트와 배열 변환:
    • 자릿수를 저장한 mutableList는 동적으로 크기를 조정할 수 있기 때문에 적합합니다. 마지막으로 toIntArray()를 이용해 리스트를 배열로 변환합니다.

 

 

  1. 문자열 변환 후 처리:
    • 숫자 n을 먼저 문자열로 변환한 후, reversed()를 이용해 숫자의 자릿수를 뒤집습니다.
    • 각 문자(char)를 digitToInt()로 변환해 숫자 배열을 생성합니다.
  2. 간결한 배열 생성:
    • 중간 리스트 없이 toIntArray()를 통해 직접 배열로 변환하여 코드가 더욱 간결해집니다.

 


정답은 더보기 클릭

더보기
class Solution {
    fun solution(n: Long): IntArray {
        // 결과를 저장할 리스트 생성
        val result = mutableListOf<Int>()
        
        // n을 처리할 변수로 선언
        var num = n
        
        // num이 0보다 클 때까지 반복
        while (num > 0) {
            // num의 마지막 자릿수를 result에 추가
            result.add((num % 10).toInt())
            
            // num에서 마지막 자릿수를 제거
            num /= 10
        }
        
        // 리스트를 배열로 변환하여 반환
        return result.toIntArray()
    }
}

 

class Solution {
    fun solution(n: Long): IntArray {
        // 숫자 n을 문자열로 변환한 후, reverse()로 문자열을 뒤집습니다.
        // map을 사용해 각 문자를 정수로 변환한 후, 배열로 변환하여 result에 저장합니다.
        val result = n.toString()
            .reversed()  // 문자열을 뒤집음
            .map { it.digitToInt() }  // 각 문자를 숫자로 변환(각 요소는 char타입)
            .toIntArray()  // 배열로 변환
        
        // 결과 배열을 반환
        return result
    }
}
728x90