https://www.acmicpc.net/problem/10813
10813번: 공 바꾸기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이
www.acmicpc.net
풀이
더보기

이 문제는 배열의 기본을 알고 있어야 한다.
배열의 인덱스 무조건 0부터 시작한다. 하지만 인간이 인식하는 숫자는 1부터 시작한다. 따라서, 케이스로 받아오는 인덱스를 숫자로 파싱할때 -1을 하여 배열의 인덱스와 맞춰줘야 한다.
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main(args: Array<String>) {
question10813()
}
fun question10813() {
var reader = BufferedReader(InputStreamReader(System.`in`))
var writer = BufferedWriter(OutputStreamWriter(System.out))
var basketCase = reader.readLine().split(" ").map { it.toInt() }
var baskets = IntArray(basketCase[0]){ it + 1 }
for (i in 0 until basketCase[1]) {
var numbers = reader.readLine().split(" ").map { it.toInt() - 1 }
var firstBasket = baskets[numbers[0]]
var secondBasket = baskets[numbers[1]]
baskets[numbers[0]] = secondBasket
baskets[numbers[1]] = firstBasket
}
writer.write(baskets.joinToString(" "))
writer.flush()
}

반응형
'스터디(beakjoon)' 카테고리의 다른 글
Kotlin] 백준 3052번 문제 풀이 (0) | 2023.04.25 |
---|---|
Kotlin] 백준 5597번 문제 풀이 (0) | 2023.04.25 |
Kotlin] 백준 2562번 문제 풀이 (0) | 2023.04.21 |
Kotlin] 백준 10818번 문제 풀이 (0) | 2023.04.20 |
Kotlin] 백준 10871번 문제 풀이 (0) | 2023.04.19 |