관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 소인수분해 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 소인수분해 (Kotlin)

참깨빵위에참깨빵_ 2022. 12. 29. 21:04
728x90
반응형
자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 리턴하는 solution()을 완성하라

 

 

소인수분해 공식도 확인했지만 손을 대지 못했던 문제다. 아래는 참고한 자바 풀이 링크고 그 밑은 자바 코드를를 코틀린으로 변환해 통과한 코드다.

https://velog.io/@morgankim/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-Java-%EC%86%8C%EC%9D%B8%EC%88%98%EB%B6%84%ED%95%B4

 

[프로그래머스 / Java] 소인수분해

쉬운 방법을 생각 못하고 자꾸 list 에 넣기만 하려고 해서 큰일이다ㅠ 항상 최선의 방법을 ^먼저^ 생각해보는 습관을 가져야겠다. stream 도 조금 더 익숙해질 필요가 있어 보인다 !

velog.io

 

class Solution {
    fun solution(n: Int): IntArray {
        var num = n
        val list: MutableList<Int> = ArrayList()
        var i = 2

        while (num >= 2) {
            if (num % i == 0) {
                list.add(i)
                num /= i
            } else {
                i++
            }
        }
        
        return list.stream().distinct().mapToInt { obj: Int -> obj }.toArray()
    }
}
반응형
Comments