728x90
#include <string>
#include <vector>
#include <math.h>
using namespace std;
vector<char> res;
void conv(int num, int b){
if (num == 0){
res.push_back(48);
}
while (num > 0){
if (num % b < 10){
res.push_back(num % b + 48);
}
else{
res.push_back(num % b + 55);
}
num /= b;
}
}
string solution(int n, int t, int m, int p) {
string answer = "";
int start = 1; // 숫자 세기
int count = 1; // 자리 수 세기
while (answer.size() < t){
// n진수 변환
conv(start, n);
// 변환 한 수가 순서에 부합하면 answer에 추가하기
for (int i = res.size() - 1; i >= 0; --i){
if (count <= m){
if (count == p){
cout << start << endl;
answer += res.at(i);
}
}
else{
int temp = count;
while (temp > m){
temp -= m;
}
if (temp == p){
answer += res.at(i);
}
}
++count; // 자릿수 증가
if (answer.size() == t){
break;
}
}
res.clear();
++start; // 숫자 증가
}
return answer;
}
'programmers' 카테고리의 다른 글
[programmers 오픈채팅방 c++] (0) | 2022.03.15 |
---|---|
[c++ programmers 2022 kakao blind recruitment - k진수에서 소수 개수 구하기] (0) | 2022.03.10 |
[c++ programmers 2022 kakao blind recruitment - 주차 요금 계산] (0) | 2022.03.05 |
[c++ programmers 2022 kakao blind recruitment - 신고 결과 받기] (0) | 2022.03.04 |
[c++ programmers 스택/큐 - 프린터] (0) | 2022.03.04 |