Skip to content

Commit 5609f3b

Browse files
committed
[level 0] Title: 공 던지기, Time: 0.05 ms, Memory: 84 MB -BaekjoonHub
1 parent c2e91f0 commit 5609f3b

2 files changed

Lines changed: 117 additions & 0 deletions

File tree

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# [level 0] 공 던지기 - 120843
2+
3+
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/120843)
4+
5+
### 성능 요약
6+
7+
메모리: 84 MB, 시간: 0.05 ms
8+
9+
### 구분
10+
11+
코딩테스트 연습 > 코딩테스트 입문
12+
13+
### 채점결과
14+
15+
정확성: 100.0<br/>합계: 100.0 / 100.0
16+
17+
### 제출 일자
18+
19+
2026년 05월 04일 23:39:01
20+
21+
### 문제 설명
22+
23+
<p>머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 <code>numbers</code>와 정수 <code>K</code>가 주어질 때, <code>k</code>번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.</p>
24+
25+
<hr>
26+
27+
<h5>제한사항</h5>
28+
29+
<ul>
30+
<li>2 &lt; <code>numbers</code>의 길이 &lt; 100</li>
31+
<li>0 &lt; <code>k</code> &lt; 1,000</li>
32+
<li><code>numbers</code>의 첫 번째와 마지막 번호는 실제로 바로 옆에 있습니다.</li>
33+
<li><code>numbers</code>는 1부터 시작하며 번호는 순서대로 올라갑니다.</li>
34+
</ul>
35+
36+
<hr>
37+
38+
<h5>입출력 예</h5>
39+
<table class="table">
40+
<thead><tr>
41+
<th>numbers</th>
42+
<th>k</th>
43+
<th>result</th>
44+
</tr>
45+
</thead>
46+
<tbody><tr>
47+
<td>[1, 2, 3, 4]</td>
48+
<td>2</td>
49+
<td>3</td>
50+
</tr>
51+
<tr>
52+
<td>[1, 2, 3, 4, 5, 6]</td>
53+
<td>5</td>
54+
<td>3</td>
55+
</tr>
56+
<tr>
57+
<td>[1, 2, 3]</td>
58+
<td>3</td>
59+
<td>2</td>
60+
</tr>
61+
</tbody>
62+
</table>
63+
<hr>
64+
65+
<h5>입출력 예 설명</h5>
66+
67+
<p>입출력 예 #1</p>
68+
69+
<ul>
70+
<li>1번은 첫 번째로 3번에게 공을 던집니다.</li>
71+
<li>3번은 두 번째로 1번에게 공을 던집니다.</li>
72+
</ul>
73+
74+
<p>입출력 예 #2</p>
75+
76+
<ul>
77+
<li>1번은 첫 번째로 3번에게 공을 던집니다.</li>
78+
<li>3번은 두 번째로 5번에게 공을 던집니다.</li>
79+
<li>5번은 세 번째로 1번에게 공을 던집니다.</li>
80+
<li>1번은 네 번째로 3번에게 공을 던집니다.</li>
81+
<li>3번은 다섯 번째로 5번에게 공을 던집니다.</li>
82+
</ul>
83+
84+
<p>입출력 예 #3</p>
85+
86+
<ul>
87+
<li>1번은 첫 번째로 3번에게 공을 던집니다.</li>
88+
<li>3번은 두 번째로 2번에게 공을 던집니다.</li>
89+
<li>2번은 세 번째로 1번에게 공을 던집니다.</li>
90+
</ul>
91+
92+
<p>※ 공지 - 2023년 1월 25일 테스트 케이스가 추가되었습니다. 기존에 제출한 코드가 통과하지 못할 수도 있습니다.</p>
93+
94+
95+
> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
public int solution(int[] numbers, int k) {
3+
int answer = numbers[0];
4+
int idx = 0;
5+
int maxIdx = numbers.length-1;
6+
7+
for(int i=1; i<k; i++){
8+
if(idx+2 <=maxIdx){
9+
idx += 2;
10+
}
11+
else{
12+
idx +=2;
13+
idx -= maxIdx;
14+
idx--;
15+
}
16+
}
17+
18+
answer = numbers[idx];
19+
20+
return answer;
21+
}
22+
}

0 commit comments

Comments
 (0)