[JAVA 문제 풀이] 336. n진수 게임

프로그래머스 (17687)
Stupefyee's avatar
Jun 23, 2025
[JAVA 문제 풀이] 336. n진수 게임
notion image
 

내가 작성한 코드

class Solution { public String solution(int n, int t, int m, int p) { StringBuilder answerSb = new StringBuilder(); StringBuilder wordsSb = new StringBuilder(); // n진수로 변환된 문자열 담을 빌더 int num = 0; // 말할 숫자 int turn = 0; // 턴 수 while (answerSb.length() < t) { String str = Integer.toString(num++, n); // n진수로 변환 wordsSb.append(str.toUpperCase()); // 담아두기 try { answerSb.append(wordsSb.charAt(p + m * turn - 1)); // 자기차례 문자 담기 turn++; } catch (StringIndexOutOfBoundsException e) { // 예외처리 continue; } } return answerSb.toString(); } }
 

다른 사람의 코드

class Solution { public String solution(int n, int t, int m, int p) { String answer = ""; int startNum = 0; String targetString = new String(); // n진수로 변환한 문자열들을 담을 변수 String retString = new String(); // p번째 문자열을 담을 변수 // 필요한 양 만큼 문자열 추가해두기 while (targetString.length() < m * t) { targetString += Integer.toString(startNum++, n); } // 문자열 뽑아서 저장 for (int i = 0; i < t; i++) { retString += targetString.charAt(p - 1 + i * m); } answer = retString.toUpperCase(); return answer; } }
 
Share article

stupefyee