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
- js 자동완성
- 재귀함수 예제
- javascript 자동완성
- Katalon Recorder 사용법
- bfs 미로탐색 java
- tomcat log
- katalon
- 피보나치 예제
- 피보나치함수
- 홈택스 해외주식 양도세
- 주식 양도세 신고방법
- recursion example
- 한국투자증권 해외주식 양도세
- 피보나치함수 예제
- java.sql.SQLSyntaxErrorException
- 국세청 해외주식 양도세 신고방식
- 한국투자증권 양도세 신고
- 최대공약수 예제
- katalon 자동화
- oracle group by
- katalon 비교
- katalon 사용법
- 테스트 자동화
- 해외증권 양도세 한국투자증권
- CSTS 폭포수 모델
- 재귀 예제
- git 연동
- 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;
}
}
'알고리즘' 카테고리의 다른 글
백준 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