Language/C++
[프로그래머스][Level2][C++] 2018 KAKAO BLIND RECRUITMENT -[3차] n진수 게임 - 컴도리돌이
컴도리돌이
2021. 8. 20. 09:00
728x90
728x90
코딩테스트 연습 - [3차] n진수 게임
N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0
programmers.co.kr
- 16진수 변환을 최대로 설정하였기에 넘버 배열을 사용하여 진수 변환에 효율성을 올려준다.
- 진수 변환한 값을 temp라는 string 변수에 이어 붙여서 해당 temp의 길이만큼 반복문을 돌려, j번째을 인원수 m의 나머지에 1을 더한 값이 p값과 같을 때 answr에 해당 문자를 이어 붙인다.
#include <string>
#include <vector>
using namespace std;
const char convert[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
string n_number(int n,int i)
{
string temp;
while(i/n != 0) temp = convert[i%n] + temp,i/=n;
return convert[i%n] + temp;
}
string solution(int n, int t, int m, int p) {
string answer = "";
string temp = "";
int i= 0;
while(temp.length() <= t * m) temp += n_number(n,i),i++;
for(int j=0,count =0; j<temp.length();j++)
{
if(count == t) break;
if((j%m)+1 == p) answer += temp[j],count ++;
}
return answer;
}
728x90
728x90