[백준] 가장 큰 금민수 (1526)(kotlin)
문제 설명
입력 및 출력
» 입력
첫째 줄에 N이 주어진다. N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다.
» 출력
첫째 줄에 N보다 작거나 같은 금민수 중 가장 큰 것을 출력한다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
100 | 77 |
문제 풀이1
import kotlin.math.max
var n = 0
var res = 0
fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
n = readLine().toInt()
dfs(0)
println(res)
}
fun dfs(sum: Int) {
if (sum > n) return
dfs(sum * 10 + 7)
dfs(sum * 10 + 4)
res = max(res, sum)
}