1. 문제
코딩테스트 연습 - [3차] n진수 게임
N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0�
programmers.co.kr
2. 소스코드
- 간단한 구현문제.
- 다음과 같은 로직으로 구현했다.
1) 자신의 마지막 순서까지, 모든 숫자의 string을 만든다. ( 2진법, 4번, 2명인 경우 0 1 10 11 100 )
2) 자신의 순서의 숫자만 출력한다.
소스코드
#include <string>
#include <vector>
#include <iostream>
using namespace std;
const char LUT [] = {'A','B','C','D','E','F'};
string conv(int num, const int & n){
string res = ""; res.reserve(16);
if(num == 0) return "0";
while(num){
int temp = num % n;
if(temp > 9) res = LUT[temp-10] + res;
else res = to_string(num % n) + res;
num /= n;
}
return res;
}
string getAllSeq(const int & n, const int & t, const int & m){
string total = ""; total.reserve(t * m);
for(int i = 0 ; total.size() < t * m; ++i)
total += conv(i, n);
return total;
}
string solution(int n, int t, int m, int p) {
string answer = ""; answer.reserve(t);
string seq = getAllSeq(n,t,m);
for(int i = p - 1 ; answer.size() < t; i += m )
answer += seq[i];
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[ 프로그래머스 / stack ] 수식 최대화 (2020 카카오 인턴십) (0) | 2020.07.25 |
---|---|
[ 프로그래머스 / 구현 ] 압축 (2018 KAKAO BLIND RECRUITMENT) (0) | 2020.07.23 |
[ 프로그래머스 / 문자열 ] [3차] 방금그곡도움말 (KaKao) (0) | 2020.07.09 |
[ 프로그래머스 ] 점프와 순간 이동 (0) | 2020.07.03 |
[ 프로그래머스 / 구현 ] 프렌즈4블록 (KaKao) (0) | 2020.07.03 |