반응형
```
백준 25642번 젓가락 게임
```
이번 글을 통해 배워갈 내용
- 백준 25642번 풀이
https://www.acmicpc.net/problem/25642
25642번: 젓가락 게임
용태와 유진이가 게임을 플레이했을 때 용태가 이기게 된다면 yt 를, 유진이가 이긴다면 yj 를 출력한다.
www.acmicpc.net
백준 25642번 젓가락 게임은
난이도 브론즈 등급의 문제로서
한 손에 5개의 손가락을 가진 사람이 1부터 4개까지 손가락을 한 손에 피고 있고
다른 사람도 동일하게 피고 있는 경우
다른 사람의 손가락을 치는 경우 현재 공격자의 손가락만큼 방어자의 손가락에 개수를 더하고
더한수가 5이상인 경우 공격자가 승리한다고 가정하고
yt라는 사람이 선공 yj가 후공일 때
주어진 손가락을 토대로 승자를 구하는 문제입니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
피보나치 수열이 생각났습니다
a3 = a2 + a1
이를 이용해서 쉽게 푼 풀이는 아래와 같습니다.
fun main(args: Array<String>) {
val (yt, yj) = readln().split(" ").map { it.toInt() }
println(findWinner(yt, yj))
}
fun findWinner(yt: Int, yj: Int): String {
val kMaxTry = 5
var prev1 = yj
var prev2 = yt
var isYtWinner = true
for (i in 0..kMaxTry) {
val prev3 = prev1 + prev2
if (prev3 >= 5) {
break
}
isYtWinner = !isYtWinner
prev1 = prev2
prev2 = prev3
}
return if (isYtWinner) {"yt"} else {"yj" }
}
// https://codemasterkimc.tistory.com/
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
반응형
'Kotlin > Kotlin 알고리즘' 카테고리의 다른 글
백준 25640번 MBTI Kotlin 구현해보기 (0) | 2022.10.04 |
---|---|
백준 25641번 균형 잡힌 소떡소떡 (0) | 2022.10.04 |
백준 25527번 Counting Peaks of Infection Kotlin 구현해보기 (0) | 2022.10.03 |
백준 25551번 멋쟁이 포닉스 Kotlin 구현해보기 (2) | 2022.10.03 |
백준 25625번 샤틀버스 Kotlin 구현해보기 (0) | 2022.10.03 |