코딩 수업을 들으면
선생님, 교수님께서 꼭 내주시는 문제, 과제중 하나가
바로 이 진법 변환입니다
분명 진법 변환을 어떻게 하는지
머리로는 알고 있습니다
처음엔 어려울 수 있으니
천천히 종이와 팬으로 써가면서 연습해봅시다
1. 1~9를 넘어서 A=10, B=11, C= 12 ... 대문자 알파벳을 숫자로 변환합시다
2. 진법에는 거듭제곱이 이용됩니다
3. 알맞게 출력합시다
코드입니다
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.next();
int n = scan.nextInt();
int sum=0;
for(int i=0;i<str.length();i++) {
int k = str.charAt(i);
if (k>64) {
k = (int)k-55;
}
else {
k = (int)k-48;
}
sum += k*(Math.pow(n, str.length()-i-1));
}
System.out.println(sum);
}
}
Math.pow(a,b)는 a의 b제곱입니다
반환값이 double이기에 주의합시다
저는 int인 k를 곱해서
자연스럽게 int인 sum에 더할 수 있게 된거에요
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 2750 JAVA 자바] 수 정렬하기 (0) | 2023.08.08 |
---|---|
[백준 2747 JAVA 자바] 피보나치 수 (0) | 2023.08.08 |
[백준 2744 JAVA 자바] 대소문자 바꾸기 (0) | 2023.08.07 |
[백준 2743 JAVA 자바] 단어 길이 재기 (0) | 2023.08.07 |
[백준 2742 JAVA 자바] 기찍 N (0) | 2023.08.07 |