비버놀로지

[BAEKJOON 백준] 1212 8진수 2진수 본문

ALGORITM/JAVA

[BAEKJOON 백준] 1212 8진수 2진수

KUNDUZ 2021. 1. 10. 17:02
728x90

www.acmicpc.net/problem/1212

 

1212번: 8진수 2진수

첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.

www.acmicpc.net

8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오.

 

먼저 8진수이기 때문에 0일때 000, 1일때 001 이렇게 배열을 만들어 준다.

그리고 입력을 받은 8진수를 한글자씩 나누어 각각의 해당하는 2진수로 변환해 준다.

 

그런데 제일 첫번째의 경우에는 001같이 0이 앞에 올수 없으므로

첫번째 값을 위한 배열을 하나더 만들어 준다.

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String bin[]= {"000","001","010","011","100","101","110","111"};
		String bin1[]= {"0","1","10","11","100","101","110","111"};
		String s=sc.next();
		char arr[]=s.toCharArray();
		StringBuilder sb=new StringBuilder();
		for (int i = 0; i < arr.length; i++) {
			if(i==0) {
				sb.append(bin1[arr[i]-'0']);
				
			}else {
				
				sb.append(bin[arr[i]-'0']);
			}
		}
		System.out.println(sb);
	}
}

728x90
Comments