상세 컨텐츠

본문 제목

Baekjoon(Kotlin) - 10811. 바구니 뒤집기

Problems(Kotlin)/Baekjoon

by KDLiam 2023. 9. 24. 15:30

본문

URL : https://www.acmicpc.net/problem/10811

 

10811번: 바구니 뒤집기

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2

www.acmicpc.net

 

[ RESULT ]

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter

val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))

fun main() {
    val (N, M) = br.readLine()!!.split(" ").map { it.toInt() }
    var arr: MutableList<Int> = (1..N).toMutableList()

    repeat(M) {
        val (i, j) = br.readLine()!!.split(" ").map { it.toInt() }
        reverseArr(arr, i, j)
    }

    bw.write("${arr.joinToString(" ")}\n")

    br.close()
    bw.flush()
    bw.close()
}

fun reverseArr(arr: MutableList<Int>, i: Int, j: Int) {
    for (k in 0 until (j - i + 1) / 2) {
        val temp = arr[i - 1 + k]
        arr[i - 1 + k] = arr[j - 1 - k]
        arr[j - 1 - k] = temp
    }
}

 

 

관련글 더보기