N진수 게임
문제정의
0부터 1씩 증가하는 수를 n진수로 표현하고 이를 돌아가면서 한명씩 말하는게 n진수 게임이다. 이 게임에서 주어진 순서의 플레이어가 앞으로 말해야 할 숫자를 계산해주는 프로그램을 짜는 문제이다. 게임 참여 인원과 내가 보고자하는 플레이어의 순서가 주어진다. 문제 링크
문제풀이
전체 코드는 다음과 같다. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54import java.util.Stack;
public class NthGame {
//프로그래머스 문제풀이 level2 n진수 게임
public static void main(String[] args) {
int n=2, t=4, m=2, p=1;
String answer = "";
String answer = "";
int cnt = 0;
int num = 0;
int idx = 1;
while(cnt < t)
{
Stack<Integer> stack = new Stack<>();
int t_num = num;
do
{
stack.push(t_num%n);
t_num /= n;
}while(t_num > 0);
while(!stack.empty())
{
if(p == idx)
{
String add_num = String.valueOf(stack.peek());
if(add_num.equals("10"))
add_num = "A";
else if(add_num.equals("11"))
add_num = "B";
else if(add_num.equals("12"))
add_num = "C";
else if(add_num.equals("13"))
add_num = "D";
else if(add_num.equals("14"))
add_num = "E";
else if(add_num.equals("15"))
add_num = "F";
answer += add_num;
p += m;
cnt++;
if(cnt == t)
break;
}
idx++;
stack.pop();
}
num++;
}
}
}
테스트
카카오톡 인턴 시험을 봤는데, 역시 정말 어려웠다. 공부한지 얼마 되지도 않았는데 벌써 기죽지말고 차근차근 해나가자. 발전하고 있다.