Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
Tags
- 국세청 해외주식 양도세 신고방식
- 재귀 예제
- katalon 비교
- 테스트 자동화
- katalon
- recursion example
- 피보나치 예제
- 한국투자증권 양도세 신고
- bfs 미로탐색 java
- 한국투자증권 해외주식 양도세
- 홈택스 해외주식 양도세
- katalon 자동화
- oracle group by
- 재귀함수 예제
- katalon xpath
- tomcat log
- js 자동완성
- 톰캣 실시간 로그
- katalon 사용법
- 피보나치함수
- CSTS 폭포수 모델
- 최대공약수 예제
- Katalon Recorder 사용법
- 주식 양도세 신고방법
- git 연동
- javascript 자동완성
- 피보나치함수 예제
- 해외주식 양도세 신고
- java.sql.SQLSyntaxErrorException
- 해외증권 양도세 한국투자증권
Archives
- Today
- Total
엄지월드
백준 11576 Base Conversion 본문
문제

설명
마지막 줄에 주어진 A진수를 B진수로 출력하는 문제였다.
그렇게 하기 위해서 A진수를 10진수로 변경하고, 10진수를 B진수로 변경하도록 처리했다.
가독성을 위해 처리 단위로 메소드로 뺏다.
소스
package Baekjoon;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class BOK_11576 {
// 11576 Base Conversion
public static void main(String[] args) throws IOException {
process();
}
private static void process() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
long A = Long.parseLong(st.nextToken());
long B = Long.parseLong(st.nextToken());
int m = Integer.parseInt(br.readLine());
int[] arr = new int[m];
st = new StringTokenizer(br.readLine());
// A넘버를 10진수로 치환
long decimalNumber = getAtoDecimal(m, arr, st, A);
// 10진수를 B넘버로 치환
StringBuilder result = getToBNumber(decimalNumber, B);
bw.write(result.toString());
bw.flush();
bw.close();
}
private static StringBuilder getToBNumber(long decimalNumber, long B) {
// A넘버를 10진수로 치환
StringBuilder result = new StringBuilder();
while(decimalNumber > 0) {
long remainder = decimalNumber % B;
result.insert(0, remainder +" ");
decimalNumber /= B;
}
return result;
}
private static long getAtoDecimal(int m, int[] arr, StringTokenizer st, long A) {
// 10진수를 B넘버로 치환
long decimalNumber = 0;
for (int i = 0; i < m; i++) {
arr[i] = Integer.parseInt(st.nextToken());
double pow = Math.pow(A, m - i -1);
double v = arr[i] * pow;
decimalNumber += (long)v;
}
return decimalNumber;
}
}
'알고리즘' 카테고리의 다른 글
| 백준 2635 수 이어가기 (0) | 2024.07.09 |
|---|---|
| 백준 9625 BABBA (0) | 2024.07.08 |
| 백준 4158 CD (0) | 2024.06.25 |
| 백준 15904 UCPC는 무엇의 약자일까? (0) | 2024.05.13 |
| 백준 4659 비밀번호 발음하기 (0) | 2024.05.09 |
Comments