[Lv. 0] 공 던지기프로그래머스/Level 02023. 4. 11. 14:20
Table of Contents
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120843
난이도 : Level.0
언어 : Kotlin
문제 설명 :
머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.
제한 사항 :
- 2 < numbers의 길이 < 100
- 0 < k < 1,000
- numbers의 첫 번째와 마지막 번호는 실제로 바로 옆에 있습니다.
- numbers는 1부터 시작하며 번호는 순서대로 올라갑니다.
입출력 예 :
numbers | k | result |
[1, 2, 3, 4] | 2 | 3 |
[1, 2, 3, 4, 5, 6] | 5 | 3 |
[1, 2, 3] | 3 | 2 |
풀이 :
class Solution {
fun solution(numbers: IntArray, k: Int): Int {
var answer: Int = 1
var temp = 0
while (true) {
if (answer > numbers.size) {
answer -= numbers.size
}
answer += 2
temp++
if (temp == k) {
answer -= 2
break
}
}
return answer
}
}
다른 사람의 풀이 :
class Solution {
fun solution(numbers: IntArray, k: Int): Int {
return (1..k).map { numbers }.flatMap { it.toList() }[2 * (k - 1)]
}
}
다른 사람의 풀이를 보고 아직 많이 부족함을 느낀다...
'프로그래머스 > Level 0' 카테고리의 다른 글
[Lv. 0] 점의 위치 구하기 (0) | 2023.04.12 |
---|---|
[Lv. 0] 2차원으로 만들기 (0) | 2023.04.11 |
[Lv. 0] 배열 회전시키기 (0) | 2023.04.11 |
[Lv. 0] 주사위의 개수 (0) | 2023.04.10 |
[Lv. 0] 합성수 찾기 (0) | 2023.04.10 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!