이번 문제는 꽤나 재미있었다.
나는 우선 가변성의 n 진수로 바꾸는데에 있어 이전에 사용해보았던 integer.toString 을 써보고자 하였다.
그이후 코드를 시원시원히 적어본 결과
n진수의 숫자를 하나하나 전체적으로 집어넣고 있었고 문제안의 요구사항에서는 N진수로 표현한 것들도 모두 한글자씩 떼서 출력해야함을 알 수 있었다.
인터넷 검색 결과
StringBuilder를 이용하여 하나의 수를 모두 builder에 집어넣고 그이후 턴마다 사람이 말할 숫자를 꺼냄으로써 문제를 풀이한 것을 보았다. 코드가 매우 간단해 보였고 내기준에서는 창의적이었으며 인상적이어서 첨부한다.
import java.util.*;
class Solution {
public String solution(int n, int t, int m, int p) {
StringBuilder convert = new StringBuilder();
StringBuilder answer = new StringBuilder();
// convert의 길이가 미리 구할 숫자 갯수 * 게임 참가 인원만큼 될 때 까지 n진수로 변환
for(int i = 0; convert.length() <= t * m; i++){
convert.append(Integer.toString(i, n));
}
// 튜브의 순서에 해당하는 글자들만 추출
for(int i = p - 1; answer.length() < t; i += m){
answer.append(convert.charAt(i));
}
return answer.toString().toUpperCase();
}
}
'Algorithm & Data Structures > Programers' 카테고리의 다른 글
Lv 2. 모음사전 (0) | 2024.07.01 |
---|---|
Lv 2. [3차] 압축 (0) | 2024.06.30 |
Lv 2. 괄호 회전하기 (0) | 2024.06.26 |
Lv 2. 게임 맵 최단거리 (0) | 2024.06.23 |
Lv 2. pK진수에서 소수 개수 구하기 (0) | 2024.06.22 |