티스토리 뷰

728x90

https://www.acmicpc.net/problem/11576

 

11576번: Base Conversion

타임머신을 개발하는 정이는 오랜 노력 끝에 타임머신을 개발하는데 성공하였다. 미래가 궁금한 정이는 자신이 개발한 타임머신을 이용하여 500년 후의 세계로 여행을 떠나게 되었다. 500년 후의

www.acmicpc.net

 

자신의 아이디어를 그대로 표현할 수 있는지 확인하는 구현문제 였던것 같습니다.

문제 제출할 때, A진수를 B진수로 바꾸면서 위치값을 쉽게 구하기 위해 LinkedList를 사용했는데

String을 이용하여 나머지 값들을 더한 후, 역순으로 인덱스값을 호출해도 결과는 똑같이 나올 것 같습니다.

 

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
32
33
34
35
36
37
38
39
import java.util.*;
 
public class Main {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
 
        int A = sc.nextInt();
        int B = sc.nextInt();
 
        int n = sc.nextInt();
 
        LinkedList<Integer> arr = new LinkedList<>();
 
        for (int i = 0; i < n; i++) {
            arr.offer(sc.nextInt());
        }
 
        int sum = 0;
        int len = arr.size();
 
        for (int i = 1; i <= len; i++) {
            sum += Math.pow(A, len - i) * arr.peek();
            arr.pop();
        }
 
        arr.clear();
 
        while (sum > 0) {
            arr.offerFirst(sum % B);
            sum /= B;
        }
 
        for (int i = 0; i < arr.size(); i++) {
            System.out.print(arr.get(i) + " ");
        }
 
        sc.close();
    }
}
cs

 

 

'코딩 > 자바 백준' 카테고리의 다른 글

백준 2960 에라토스테네스의 체(JAVA)  (0) 2021.08.16
백준 1343 폴리오미노 (JAVA)  (0) 2021.08.15
백준 1182 부분수열의 합 (JAVA)  (0) 2021.08.15
백준 9625 BABBA (JAVA)  (0) 2021.08.12
백준 5568 카드 놓기 (JAVA)  (0) 2021.08.12
댓글