class Solution {
fun solution(x: Int): Boolean {
var num: List<String> = x.toString().split("")
var num1 = num.first().toInt()
var num2 = num.last().toInt()
var num3 = num1 + num2
val isHashard = if(x%num3 == 0) {
true
} else {
false
}
return isHashard
}
}
이렇게 했는데 안됐다.
목적은 x를 문자열로 바꿔서 11을 1과 1로 떼고자 했는데 안됐다.
11과 11이 출력됐다.
GPT의 도움을 받았다.
class Solution {
fun solution(x: Int): Boolean {
val sum = x.toString().sumOf { it - '0' }
return x % sum == 0
}
}
내가 생각했던 것 보다 훨씬 간단하게 구현할 수 있다.
0을 빼주는 이유는 문자열을 ASCII코드로 반환하기에
예를들어 0이란 문자는 ASCII 코드로 100이라면 1은 101 2는 102니까
0을 빼줌으로서 정수 1~9를 얻어낼 수 있는 것이다.