백준 9진수

KIMYEONGJUN·2025년 6월 25일
0
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

첫째 줄에 10진수 T(1 ≤ T ≤ 10,000)가 주어진다.

T를 9진수로 변환한 수를 출력한다.

내가 이 문제를 보고 생각해본 부분

BufferedReader를 통해 사용자로부터 10진수 T를 입력받는다.
StringBuilder를 준비하고, 입력받은 T를 decimalNumber 변수에 복사한다.
decimalNumber가 0이 될 때까지 반복적으로 9로 나누고, 그 나머지를 StringBuilder에 순서대로 추가한다.
이 과정에서 9진수의 각 자릿수가 역순으로 StringBuilder에 저장된다.
반복문이 끝나면 StringBuilder에 저장된 내용을 reverse() 메서드로 뒤집어 올바른 9진수 순서로 만든 후, toString() 메서드로 문자열로 변환하여 출력한다.
마지막으로 BufferedReader 자원을 닫는다.

코드로 구현

package baekjoon.baekjoon_29;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

// 백준 14491번 문제
public class Main1065 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.parseInt(br.readLine()); // 10진수 T 입력

        StringBuilder sb = new StringBuilder();
        int decimalNumber = T; // 입력받은 T를 변환에 사용

        while(decimalNumber > 0) {
            int remainder = decimalNumber % 9; // 9로 나눈 나머지
            sb.append(remainder); // 나머지를 StringBuilder에 추가
            decimalNumber /= 9; // 몫을 다음 계산에 사용
        }

        System.out.println(sb.reverse().toString());
        br.close();
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글