달달한 스토리

728x90
반응형

출처 핀터레스트

 

자바로만 코딩 테스트를 하다가 코틀린으로 하니..

 

너무 수월한 내장함수들이 많은 듯하다..

 

자바에서는 Arrays나, Collections 클래스를 많이 이용하고,

 

그에 맞게 namespace를 import 해주었는데,

 

코틀린은 내부에 적절하게 위에 코드에서 구현할 수 있는

 

메서드를 가지고 있어서 굳이, import하지 않고,

 

간편하게 구현할 수 있었다.

 

아래 문제를 보자.

 

자연수 뒤집어 배열로 만들기

 

//자연수 뒤집어 배열로 만들기
class FlipNaturalNumbersToFormAnArray {
    fun solution(n: Long): IntArray =
        n.toString()
            .reversed()
            .map { it.toString().toInt() }
            .toIntArray()
}

 

파라미터로 받은 n값을 문자열로 바꾸고, reversed() 메서드를 통해

 

문자열에 순서를 거꾸로 만들어 준다.

 

그리고, 각 값을 정수형으로 바꾸고,

 

IntArray로 변환해주고 반환한다.

 

위에서 보는 것처럼, 손쉽게 reversed() 메서드를 통해 문자열의 순서를 바꾸어 줄 수 있다.

 

코틀린.. 좋다..

 

다음 문제를 보자.

 

 

하샤드 수

 

//하샤드 수
class HashadSu {
    fun solution(x: Int): Boolean {
        val sum = x.toString().map {
            it.toString().toInt()
        }.sum()
        return x % sum == 0
    }
}

전달받은 x의 각 자릿수의 합을 x로 나눌 때, 나누어지는지 아닌지에 대한

 

불리언을 반환하는 과제이다.

 

map을 사용하기 위해 int 값을 String으로 변환했고,

 

각 값을 다시 int로 바꾸어 sum() 메서드로 더해준다.

 

그리고, x가 이 sum으로 나누어지는지에 대한 불리언을 반환한다.

 

 

 

코틀린 알면 알수록 재밌다... 더 풀어보자..

728x90
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading