-
이번에는 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
혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요.
'Algorithm > BOJ(Baekjoon Online Judge)' 카테고리의 다른 글
[백준 - 2576번] 홀수 - Java //Wello Horld// (0) 2020.01.06 [백준 - 2407번] 조합 - Java //Wello Horld// (0) 2020.01.06 [백준 - 2312번] 수 복원하기 - Java //Wello Horld// (0) 2020.01.03 [백준 - 2033번] 반올림 - Java //Wello Horld// (0) 2020.01.03 [백준 - 1977번] 완전제곱수 - Java //Wello Horld// (0) 2020.01.03