개발/문제해결
[프로그래머스] n진수 게임
hyosupsong
2021. 2. 12. 23:38
문제
programmers.co.kr/learn/courses/30/lessons/17687
코딩테스트 연습 - [3차] n진수 게임
N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0
programmers.co.kr
문제해결방법
숫자를 순서대로 n진수로 만들어서 하나의 문자열로 만들어준다.
문자열의 길이가 t x m 길이 이상이 되면 튜브가 말해야 할 숫자들을 출력해준다.
코드
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 32 | package Programmers; public class Solution_n진수게임 { public static char[] change = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; public static String makeNumber(int number, int n) { StringBuilder sb = new StringBuilder(); while(number>0) { sb.append(change[number%n]); number/=n; } return sb.reverse().toString(); } public static String solution(int n, int t, int m, int p) { String answer = ""; int number = 0; String temp = "0"; while(temp.length()<=t*m) temp+=makeNumber(number++, n); for(int i=0; i<t; i++) answer+=temp.charAt((p-1)+m*i); return answer; } public static void main(String[] args) { int n = 16; int t = 16; int m = 2; int p = 2; System.out.println(solution(n, t, m, p)); } } | cs |
코드에 대한 피드백이나 더 좋은 아이디어는 언제나 환영입니다.