[백준] 수리공 항승 (1449)(kotlin)

문제 설명

백준 1449번 문제 링크

입력 및 출력

» 입력

첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 같은 자연수이다.

» 출력

첫째 줄에 항승이가 필요한 테이프의 개수를 출력한다.

예제 입출력(테스트케이스)

입력 출력
4 2
1 2 100 101
2
2 3
1 1000
2
5 1
1 2 3 4 5
5
4 5
1 4 5 9
2

문제 풀이1

fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
    val (n, l) = readLine().split(" ").map { it.toInt() }
    val pipe = readLine().split(" ").map { it.toInt() }.sorted()

    var now = 0
    var count = 1

    for (next in 0 until n) {
        if (pipe[next] - pipe[now] >= l) {
            count++
            now = next
        }
    }

    println(count)
}