Algorithm/BOJ(Baekjoon Online Judge)
[백준 - 1212번] 8진수 2진수 - Java //Wello Horld//
koucop
2020. 1. 6. 10:11
이번에는 BOJ의 1212번 문제 "8진수 2진수" 를 풀어보도록 하자
입력으로 첫째 줄에 8진수가 주어진다ㅏ.
출력으로 주어진 수를 2진수로 변환하여 출력하면 되는 문제이다.
성공한 코드는 아래와 같다.
import java.io.*;
import java.math.BigInteger;
import java.util.*;
public class sample {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String s = br.readLine();
int len = s.length();
if(s.equals("0") && len == 1){
bw.write("0");
} else {
for(int i = 0; i < len; i++){
if(i == 0) bw.write(last(s.charAt(i)));
else bw.write(trans(s.charAt(i)));
}
}
bw.flush();
br.close();
bw.close();
}
static String trans(char a) {
String result = "";
if (a == '0') result = "000";
else if (a == '1') result = "001";
else if (a == '2') result = "010";
else if (a == '3') result = "011";
else if (a == '4') result = "100";
else if (a == '5') result = "101";
else if (a == '6') result = "110";
else if (a == '7') result = "111";
return result;
}
static String last(char a) {
String result = "";
if (a == '1') result = "1";
else if (a == '2') result = "10";
else if (a == '3') result = "11";
else if (a == '4') result = "100";
else if (a == '5') result = "101";
else if (a == '6') result = "110";
else if (a == '7') result = "111";
return result;
}
}
문제 : https://www.acmicpc.net/problem/1212
1212번: 8진수 2진수
첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.
www.acmicpc.net
혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요.