
문제
백준 2998번 8진수 JAVA

내 풀이 1 : 런타임에러
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String str = br.readLine();
int num = Integer.parseInt(str, 2);
String answer = Integer.toOctalString(num);
sb.append(answer);
System.out.println(sb.toString());
}
}
내 풀이 2 : 정답입니다
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String str = br.readLine();
BigInteger num = new BigInteger(str, 2);
String answer = num.toString(8);
sb.append(answer);
System.out.println(sb.toString());
}
}
느낀점
와 대박 BigInteger도 2진수, 8진수가 지원된댄다
메서드 사용이 아니고 toString()에다가 넣어주기만 하면 됨;;
개편함;;; 이럴수가;;