7. n진수게임 (프로그래머스)
by BFine반응형
가. 문제파악
1. 유형 : 구현
- 이문제는 처음보고 규칙을 찾아야 하는건가 싶어서 너무 어렵게 느껴졌다.
- 이게 어떻게 level2인가 싶었는데 최대치해도 크게 복잡도가 없어보여서 그대로 구현했더니 맞았다..
나. 코드
1. 풀이 : 진법, 구현
- 미리 구해야하는 수 까지만 구하면된다.
- n진법으로 변환해서 때려넣기만 하면 된다!
public class Solution {
String de[] = {"A","B","C","D","E","F"};
public String solution(int n, int t, int m, int p){
// p 튜브순서, m 참가인원, t 미리구할수개, n진법
int total = m * t;
StringBuilder to = new StringBuilder();
to.append(0);
for (int i = 1; i < total; i++) {
int num = i;
StringBuilder sb = new StringBuilder();
while(num > 0){
int r = num%n;
num = num/n;
if(r >= 10){
sb.append(de[r-10]);
}else {
sb.append(r);
}
}
to.append(sb.reverse());
}
StringBuilder res = new StringBuilder();
p = p-1;
for (int i = 0; i < t; i++) {
res.append(to.charAt(p+m*i));
}
return res.toString();
}
public static void main(String[] args) {
//System.out.println(new Solution().solution(new int[][]{{0,1,1,1},{1,1,1,1},{1,1,1,1},{0,0,1,0}}));
// System.out.println(new Solution().solution(new int[][]{{0,0,1,1},{1,1,1,1}}));
System.out.println(new Solution().solution(2,4,2,1));
System.out.println(new Solution().solution(16,16,2,1));
}
}
반응형
'알고리즘 > 문제풀이' 카테고리의 다른 글
9. 쿼드 압축 후 개수세기 JAVA (프로그래머스) (0) | 2021.04.11 |
---|---|
8. 땅따먹기 (프로그래머스) (0) | 2021.04.10 |
6. 삼각달팽이 (프로그래머스) (0) | 2021.04.10 |
5. 가장 큰 수 (프로그래머스) (0) | 2021.04.07 |
4. 소수찾기 (프로그래머스) (0) | 2021.04.04 |
블로그의 정보
57개월 BackEnd
BFine