더 많이 실패하기

백준 1212번 8진수 2진수 자바 Java (☆공부 252일차) 본문

알고리즘/백준

백준 1212번 8진수 2진수 자바 Java (☆공부 252일차)

김발자~ 2023. 4. 8. 13:07
반응형

1212 8진수 2진수

https://www.acmicpc.net/problem/1212

 

1212번: 8진수 2진수

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

www.acmicpc.net

 

 

 


백준 1212번 문제 8진수 2진수


문제


 

시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
1 초 256 MB 40267 13493 11184 35.744%

문제

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

입력

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

출력

첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.

예제 입력 1

314

예제 출력 1

11001100

 

 

 


과정 생각해보기 & 오답


 

https://gimbalja.tistory.com/194

 

공부 113일차: 백준 1212번 8진수 2진수 자바 java

1212 8진수 2진수 https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 백준 1212번 문제 8진수 2진수 문제 과정 생각

gimbalja.tistory.com

4달 전에 푼 문제

 

8진수에서 올 수 있는 숫자는 0~7로 제한되어 있다

이에 따라 각각의 수는 2진수로000 001 010 011 100 101 110 111로 변환 가능하다

다만, 2진수의 첫 글자는 무조건 1로 시작해야 하기 때문에 앞에 0이 붙는다면 빼준다

 

 

 


정답 인정 코드


 

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
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
    
    // 8진수에서 가능한 0~7
    static String[] binary = {"000""001""010""011""100""101""110""111"};
 
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
 
        String octal = br.readLine();
        
        // 0 처리
        if(octal.equals("0")) {
            sb.append(0);
        }else {
            // 숫자화 -> 앞에 붙은 0 제거
            sb.append(Integer.parseInt(binary[octal.charAt(0)-'0']));
            for(int i = 1; i < octal.length(); i++) {
                sb.append(binary[octal.charAt(i)-'0']);
            }            
        }
        
        
        System.out.println(sb);
        br.close();
    }
 
}
 
cs

 

 

 


백준 정답 코드를 활용!

이전 코드보다 훨씬 깔끔하다

검은색 기준으로 나뉨

시간은 비슷하지만 메모리를 꽤 많이 절약한다

반응형
Comments