[ 프로그래머스 ] [3차] N진수 게임
문제
https://school.programmers.co.kr/learn/courses/30/lessons/17687
풀이
진법 n, 미리 구할 숫자의 갯수 t, 게임에 참가하는 인원 m, 튜브의 순서 p를 입력받아, 최대 나올 수 있는 숫자 t x m 만큼의 n진법 숫자를 구하고, p에 해당하는 문자를 return한다.
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
#include <string>
#include <vector>
using namespace std;
string cal(int d, int n)
{
string res = "";
char code[] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };
while (d / n != 0) {
res = code[d % n] + res;
d /= n;
}
res = code[d % n] + res;
return res;
}
string solution(int n, int t, int m, int p)
{
string answer = "";
string tmp = "";
for (int i = 0; i < t * m; i++)
{
tmp += cal(i, n);
}
int cnt = 0;
for (int i = p - 1; i < tmp.size(); i += m)
{
answer += tmp[i];
if (cnt + 1 == t) break;
cnt += 1;
}
return answer;
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.