티스토리 뷰

1. 문제

https://programmers.co.kr/learn/courses/30/lessons/17687?language=java

 

코딩테스트 연습 - [3차] n진수 게임

N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0

programmers.co.kr

 

2. 풀이

구해야할 숫자의 번호까지 진법에 맞게 변환해 저장한 후, 튜브에 해당하는 순서(p)에 맞는 값만을 더해 값을 구한다

 

3. 코드

 
class Solution {
    public String solution(int n, int t, int m, int p) {
        String str = "0";    
        int cnt = 0;
        
        while(str.length() < (t * m + p)){  // 구해야할 숫자의 번호까지
            String nNum = ""; // 진법으로 변환한 수
            int num = cnt++;
            while(num != 0){
                if(num % n >= 10) // A~E
                    nNum += String.valueOf((char)(num % n + 55));
                else // 숫자
                    nNum += String.valueOf(num % n);
                num /= n;
            }
            str += new StringBuffer(nNum).reverse().toString();  // 진법에 맞게 변환해 저장한 후
        }
        
        
        String answer = "";
        for(int i = 0; i < t; i++){
            answer += String.valueOf(str.charAt(m * i + p - 1)); // 튜브에 해당하는 순서(p)에 맞는 값만을 더해 값을 구한다
        }
        
        return answer;
    }
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함