함수
- input → output
- 자판기에 돈을 넣고, 버튼을 누르면 정해진 음료가 나오듯이, 입력을 넣으면 정해진 함수에 의해 결과가 나온다.
- 기본 함수 형태
fun 함수명(변수명: 타입, 변수명: 타입): 반환값타입 {
println("Hello World")
return 반환값
}
fun main(a: Int, b: Long = 5L): Int {
return a.toLong() + b
}
타입추론
- 자료형을 코드에 명시하지 않아도, 자동으로 자료형을 추론하는 기능
- 대부분 타입추론 기능으로 변수를 선언한다.
val A = "ABC" // String
val B = 4 // Int
백준 문제풀이
4673번: 셀프 넘버
fun d(n: Int): Int {
var num = n
val len = (num.toString().length)
val valList = mutableListOf<Int>(n)
for(loc in len downTo 1) {
var den = 1
for(powIdx in loc-1 downTo 1) {
den *= 10
}
valList.add(num/den)
num %= den
}
// println(valList)
var sum = 0
valList.forEach{ sum += it }
return sum
}
fun main() {
val list = mutableListOf<Int>()
var result = mutableListOf<Int>()
for(num in 1..10000) {
list.add(num)
result.add(num)
}
list.forEach {
result.remove(d(it))
}
result.forEach { println(it) }
}