문제
머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.
제한사항
- 2 < numbers의 길이 < 100
- 0 < k < 1,000
- numbers의 첫 번째와 마지막 번호는 실제로 바로 옆에 있습니다.
- numbers는 1부터 시작하며 번호는 순서대로 올라갑니다.
입출력 예
코드
import java.util.*
class Solution {
fun solution(numbers: IntArray, k: Int): Int {
var answer: Int = 0
var queue: Queue<Int> = LinkedList()
for(i in numbers){
queue.add(i)
}
for(i in 1 until k){
queue.add(queue.remove())
queue.add(queue.remove())
answer = queue.peek()
}
return answer
}
}
queue에 nubmers 배열 값들을 저장한다.
공은 옆옆 사람에게만 던질 수 있으므로 queue에서 값을 빼고 뺀 값을 다시 queue에 더하는 작업을 2번 진행한다.
이때 queue의 맨 앞에 있는 값이 공을 던질 수 있는 사람을 의미한다.
https://school.programmers.co.kr/learn/courses/30/lessons/120843
'Algorithm > kotlin' 카테고리의 다른 글
[프로그래머스/Kotlin] JadenCase 문자열 만들기 (Lv. 2) (0) | 2024.03.27 |
---|---|
[프로그래머스/Kotlin] 구슬을 나누는 경우의 수 (Lv. 0) (0) | 2024.02.13 |
[프로그래머스/Kotlin] 이진수 더하기 (Lv. 0) (2) | 2024.02.13 |
[프로그래머스/Kotlin] 컨트롤 제트 (Lv. 0) (0) | 2024.02.13 |
[프로그래머스/Kotlin] 7의 개수 (Lv. 0) (0) | 2024.02.13 |