본문 바로가기

Algorithm/Algorithm Test

[프로그래머스] n진수 게임 (Java)

카테고리

n진수 만들기

나만의 카테고리

n진수 만들기

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/17687

 

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

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

programmers.co.kr

요점

  • n진수 만드는 법을 알아야한다.

참고 지식

  • n진수 만들기

풀이 (Java)

class Solution {
    public String solution(int n, int t, int m, int p) {
        int numLength = (t * m) + p;
        String str = "";
        
        for (int i = 0; i < numLength; i++) {
            str += conversion(i, n);
        }
        
        char[] chars = str.toCharArray();
        
        String answer = "";
        for (int i = 0; i < t; i++) {
            answer += chars[(m * i) + p - 1];
        }
        
        return answer;
    }
    
    private String conversion(int num, int n) {
        StringBuilder sb = new StringBuilder();
        int current = num;
        
        if (num == 0) {
            return "0";
        }
        
        while (current > 0) {
            if (current % n < 10) {
                sb.append(current % n);
            } else {
                sb.append((char)(current % n - 10 + 'A'));
            }
            
            current /= n;
        }
        
        return sb.reverse().toString();
    }
}

단순히 N진수 String을 만들 수 있다면 풀 수 있는 문제였습니다. 그래서 conversion 부분은 외우고 있으면 좋을 것 같습니다.

 

 


알고리즘 초보가 정리한 글입니다

더 좋은 방법이나 코드에 대한 코멘트 언제나 환영합니다!

 

 

 

반응형