반응형
문제 출처
1212번: 8진수 2진수
첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.
www.acmicpc.net
문제 설명
8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오.
입력
첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.
출력
첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.
풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String N = br.readLine();
for(int i = 0; i < N.length(); i++) {
int type = N.charAt(i) - '0';
if(i == 0) {
if(type == 0) {
System.out.println(0);
break;
}
if(type == 1)
sb.append("1");
if(type == 2)
sb.append("10");
if(type == 3)
sb.append("11");
if(type == 4)
sb.append("100");
if(type == 5)
sb.append("101");
if(type == 6)
sb.append("110");
if(type == 7)
sb.append("111");
}
if(i != 0) {
if(type == 0)
sb.append("000");
if(type == 1)
sb.append("001");
if(type == 2)
sb.append("010");
if(type == 3)
sb.append("011");
if(type == 4)
sb.append("100");
if(type == 5)
sb.append("101");
if(type == 6)
sb.append("110");
if(type == 7)
sb.append("111");
}
}
System.out.println(sb);
}
}
|
cs |
반응형
'백준' 카테고리의 다른 글
[백준 / JAVA] 2920번 음계 (0) | 2020.12.29 |
---|---|
[백준 / JAVA] 11053번 가장 긴 증가하는 부분 수열 (0) | 2020.12.29 |
[백준 / JAVA] 1373번 2진수 8진수 (0) | 2020.12.28 |
[백준 / JAVA] 10844번 쉬운 계단 수 (0) | 2020.12.27 |
[백준 / JAVA] 1699번 제곱수의 합 (0) | 2020.12.10 |