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 Recorder 사용법
- java.sql.SQLSyntaxErrorException
- 해외증권 양도세 한국투자증권
- 피보나치함수 예제
- git 연동
- tomcat log
- recursion example
- katalon
- katalon 비교
- js 자동완성
- oracle group by
- 톰캣 실시간 로그
- bfs 미로탐색 java
- 재귀함수 예제
- 피보나치 예제
- 최대공약수 예제
- 홈택스 해외주식 양도세
- 해외주식 양도세 신고
- katalon 사용법
- 재귀 예제
- 한국투자증권 양도세 신고
- CSTS 폭포수 모델
- 피보나치함수
- 한국투자증권 해외주식 양도세
- javascript 자동완성
- 국세청 해외주식 양도세 신고방식
- katalon 자동화
- 주식 양도세 신고방법
- 테스트 자동화
- katalon xpath
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