물음표 살인마

프로그래머스 N진수 게임으로 알아보는 자바 진법 변환 본문

개발지식/Algorithm

프로그래머스 N진수 게임으로 알아보는 자바 진법 변환

응지권 2023. 4. 19. 14:41

 

 

자바로 진법 변환 하는 법

 

1. 10진수 -> n진수

 

Integer.toString(int i, int radix) 사용

첫번째 파라미터에 변환할 숫자, 두번째 파라미터에 변환할 진법을 넣으면 된다.

 

2진수, 8진수, 16진수의 경우 아래 함수도 사용 가능.

Integer.toBinaryString(int i)

Integer.toOctalString(int i)

Integer.toHexString(int i)

 

        //변환할 숫자
        int num = 22;

        for (int i = 2; i <= 10; i++) {
            System.out.println(i + "진법: " + Integer.toString(num, i));
        }

 

출력 결과

 

2. n진수 -> 10진수

Integer.parseInt(String s, int radix) 사용

        //변환할 숫자
        int num = 22;

        for (int i = 2; i <= 10; i++) {
            String str = Integer.toString(num, i);
            System.out.println(i + "진법: " + str);
            System.out.println("10진수로 재변환: " + Integer.parseInt(str, i));
        }

 

출력 결과

 

프로그래머스 N진수 게임 문제 풀이

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

    static String solution(int n, int t, int m, int p) {
        int num = 0;
        String str = "0";
        while (true) {
            str += Integer.toString(++num, n).toUpperCase();
            if (str.length() >= m*t) break;
        }

        String answer = "";
        for (int i = 0; i < t; i++) {
            answer += str.charAt(i*m + p - 1);
        }
        return answer;
    }
Comments