일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- google cloud
- marksense.ai
- oauth
- C++
- javascript
- idToken
- AWS
- pandas
- @Transactional
- JPA
- matplotlib
- html
- 2021 제9회 문화공공데이터 활용경진대회
- 코드업
- STT
- google login
- 순환참조
- Expo
- OG tag
- yolo
- 졸프
- react native
- skt fellowship 3기
- google 로그인
- 양방향 매핑
- YOLOv5
- Spring
- Spring Boot
- Loss Function
- 커스텀 데이터 학습
Archives
- Today
- Total
민팽로그
[3차] n진수 게임 본문
게임을 진행하는 동안 사람들이 말하게 되는 숫자들의 총 갯수는 최소 m*(t - 1) + p개임. 따라서 m*t 길이 까지만 계산하면 될 것 같음.
0부터 시작하여 연속되는 n진수 문자열을 길이 m*t정도까지 구한 후 p 순서의 사람이 말하게 될 인덱스를 찾아 answer에 넣어주는 식으로 생각함.
#include <string>
#include <vector>
#include <map>
using namespace std;
map<int, char> mm = {{10, 'A'}, {11, 'B'}, {12, 'C'},
{13, 'D'}, {14, 'E'}, {15, 'F'}};
string solution(int n, int t, int m, int p) {
string answer = "";
string res = "0";
for(int i = 1; res.size() < m * t ;i++) {
string tmp = "";
int r = i;
while(r > 0) {
int rest = r % n;
if(mm.find(rest) != mm.end()) tmp = mm[rest] + tmp;
else {
tmp = to_string(rest) + tmp;
}
r /= n;
}
res += tmp;
tmp.clear();
}
for(int i = p - 1; i < m * t; i += m) {
answer += res[i];
}
return answer;
}
'PS > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 단체사진 찍기 (0) | 2022.06.26 |
---|---|
[프로그래머스/]카카오프렌즈 컬러링북 (0) | 2022.06.26 |
[프로그래머스/2022 KAKAO BLIND RECRUITMENT] k진수에서 소수 개수 구하기 (0) | 2022.04.26 |
Comments