Java/Java 기본기
[Java] 진법 변환
Serina_Heo
2022. 2. 23. 14:32
Programmers의 Lv1의 3진법 뒤집기 문제를 풀다가 찾아본 Java method로 진법 변환 완전 쉽게 하는 방법.
1. n진수 -> 10진수
public class Solution {
public static void main(String[] args) {
int num = 10; //10진수 값
System.out.println("10진수 -> 2진수");
System.out.println(Integer.toBinaryString(num));
System.out.println(Integer.toString(num,2));
System.out.println("10진수 -> 3진수");
System.out.println(Integer.toString(num,3));
System.out.println("10진수 -> 4진수");
System.out.println(Integer.toString(num,4));
System.out.println("10진수 -> 5진수");
System.out.println(Integer.toString(num,5));
System.out.println("10진수 -> 6진수");
System.out.println(Integer.toString(num,6));
System.out.println("10진수 -> 7진수");
System.out.println(Integer.toString(num,7));
System.out.println("10진수 -> 8진수");
System.out.println(Integer.toOctalString(num));
System.out.println(Integer.toString(num,8));
System.out.println("10진수 -> 16진수");
System.out.println(Integer.toString(num,16));
System.out.println(Integer.toHexString(num));
}
}
2. 10진수 -> n진수
public class Solution {
public static void main(String[] args) {
// 테스트를 위한 n진수 값 = 25
String numInStr = "110011";
System.out.println("2진수 -> 10진수");
System.out.println(Integer.parseInt(numInStr,3));
System.out.println("3진수 -> 10진수");
System.out.println(Integer.parseInt(numInStr,3));
System.out.println("4진수 -> 10진수");
System.out.println(Integer.parseInt(numInStr,4));
System.out.println("5진수 -> 10진수");
System.out.println(Integer.parseInt(numInStr,5));
System.out.println("6진수 -> 10진수");
System.out.println(Integer.parseInt(numInStr,6));
System.out.println("7진수 -> 10진수");
System.out.println(Integer.parseInt(numInStr,7));
System.out.println("8진수 -> 10진수");
System.out.println(Integer.parseInt(numInStr,8));
System.out.println("16진수 -> 10진수");;
System.out.println(Integer.parseInt(numInStr,16));
}
}
코딩테스트를 잘 풀기 위해서는 문제해결능력도 좋아야하지만, 이렇게 해당 언어가 지원하는 다양한 메서드를 아는 것도 중요한 것 같다.
Ref: https://cornarong.tistory.com/48?category=993289