본문 바로가기
프로그래머스

프로그래머스 2018 KAKAO BLIND RECRUITMENT[3차] n진수 게임

by 콩순이냉장고 2021. 3. 19.

문제 URL : programmers.co.kr/learn/courses/30/lessons/17687

 

코딩테스트 연습 - [3차] n진수 게임

N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0

programmers.co.kr

 

문제접근법  answer.size()가 t가 될 때까지 0부터 증가하는 수를 모든 n진법으로 나타내서 p번째자리를 answer에 넣기만 하면 됩니다.

 

소스코드:

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
#include<bits/stdc++.h>
using namespace std;
string solution(int n, int t, int m, int p) {
    string answer = "";
    int cnt = 0;
    p--;
    string tos = "0123456789ABCDEF";
    for (int i = 0; answer.size() < t; i++) {
        int temp = i;
        string s;
        do { 
            s += tos[temp %n];
            temp /= n;
        } while (temp);
        reverse(s.begin(), s.end());
        for (int j = 0; j < s.size(); j++) {
            if (cnt == p)
                answer.push_back(s[j]);
            if (answer.size() >= t)
                break;
            cnt++;
            cnt %= m;
        }
    }
 
    return answer;
}
cs

 

궁금한점 혹은 어떤질문이든 댓글은 환영입니당