From 6edcea0adc8da2f6a7bc7098555a2b06fa3e55c6 Mon Sep 17 00:00:00 2001 From: rl544 <111494264+rl544@users.noreply.github.com> Date: Tue, 17 Jan 2023 22:44:56 +0900 Subject: [PATCH] =?UTF-8?q?uploaded=20at=202023.=201.=2017.=20=EC=98=A4?= =?UTF-8?q?=ED=9B=84=2010:44:55?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- programmers/[3차] n진수 게임/solution.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 programmers/[3차] n진수 게임/solution.java diff --git a/programmers/[3차] n진수 게임/solution.java b/programmers/[3차] n진수 게임/solution.java new file mode 100644 index 0000000..cc9adf5 --- /dev/null +++ b/programmers/[3차] n진수 게임/solution.java @@ -0,0 +1,47 @@ +// [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/17687 + +import java.lang.StringBuilder; +class Solution { + public String solution(int n, int t, int m, int p) { + StringBuilder sb = new StringBuilder(), sb2 = new StringBuilder(); + int end = (t-1)*m+p, num = 0; + while(sb.length() <= end){ + sb.append(trs(num++,n)); + } + for(int a = 0; a < t; a++){ + sb2.append(sb.charAt(a*m+p-1)); + } + //System.out.println(sb); + return sb2.toString(); + } + private String trs(int num,int n){ + StringBuilder tn = new StringBuilder(); + int x = num; + + while(num>=0){ + int temp = num%n; + String nt; + switch(temp){ + case 10: nt = "A"; + break; + case 11: nt = "B"; + break; + case 12: nt = "C"; + break; + case 13: nt = "D"; + break; + case 14: nt = "E"; + break; + case 15: nt = "F"; + break; + default: nt = null; + break; + } + if(nt!=null) tn.append(nt); + else tn.append(temp); + num=num/n; + if(num==0) break; + } + return tn.reverse().toString(); + } +} \ No newline at end of file