https://www.acmicpc.net/problem/1547
난이도 : 브론즈 3
태그 : 구현, 시뮬레이션
설명
3개의 컵을 섞어, 공의 최종 위치를 찾는 문제입니다.
첫째 줄에 공이 들어있는 컵의 번호를 출력한다. 공이 사라져서 컵 밑에 없는 경우에는 -1을 출력한다.
이 문장때문에, 공이 사라지는 경우가 있나? 싶었지만,
-1을 출력하는 코드가 없어도 잘 작동하는 걸 보니
그냥 장난삼아 넣은 문구인 것 같네요.
소스코드
fun main() = with(System.`in`.bufferedReader()) {
val cup = BooleanArray(3)
cup[0] = true
repeat(readLine().toInt()) {
val (a, b) = readLine().split(" ").map { it.toInt() - 1 }
val temp = cup[a]
cup[a] = cup[b]
cup[b] = temp
}
println(cup.indexOf(true) + 1)
}
공이 든 컵은 true, 공이 없는 컵은 false로 설정했습니다.
0번째 컵을 true로 만든 뒤,
a, b를 서로 뒤바꿉니다.
이후, true인 컵의 위치를 찾아 출력합니다.
'코딩테스트 > Kotlin' 카테고리의 다른 글
[백준 2573번] [Kotlin] 빙산 (0) | 2023.06.21 |
---|---|
[백준 2309번] [Kotlin] 일곱 난쟁이 (0) | 2023.06.18 |
[백준 2589번] [Kotlin] 보물섬 (0) | 2023.06.15 |
[백준 18110번] [Kotlin] solved.ac (0) | 2023.06.14 |
[백준 2696번] [Kotlin] 중앙값 구하기 (0) | 2023.06.13 |