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
- recursion example
- java.sql.SQLSyntaxErrorException
- git 연동
- 톰캣 실시간 로그
- katalon 자동화
- 해외증권 양도세 한국투자증권
- Katalon Recorder 사용법
- 홈택스 해외주식 양도세
- katalon
- 해외주식 양도세 신고
- 한국투자증권 양도세 신고
- katalon xpath
- 한국투자증권 해외주식 양도세
- 피보나치함수 예제
- CSTS 폭포수 모델
- oracle group by
- js 자동완성
- 피보나치 예제
- 국세청 해외주식 양도세 신고방식
- javascript 자동완성
- 피보나치함수
- katalon 비교
- bfs 미로탐색 java
- 최대공약수 예제
- 테스트 자동화
- 재귀함수 예제
- katalon 사용법
- tomcat log
- 주식 양도세 신고방법
- 재귀 예제
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;
}
}
'알고리즘' 카테고리의 다른 글
백준 4158 CD (0) | 2024.06.25 |
---|---|
백준 15904 UCPC는 무엇의 약자일까? (0) | 2024.05.13 |
백준 4659 비밀번호 발음하기 (0) | 2024.05.09 |
백준 5800 성적 통계 (0) | 2024.05.08 |
백준 16435 스네이크버드 (0) | 2024.05.06 |
Comments