반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바개념
- 동적계획법
- 자바
- 시간 복잡도
- BFS
- 백준
- ★
- 자바공부
- 백준알고리즘
- 브루트포스
- 백트래킹
- 알고리즘공부
- 백준단계별로풀어보기
- 자바의정석연습문제풀이
- 자바의정석
- 백준9단계
- 알고리즘
- dp
- 무료개발강의
- 무료코딩강의
- ☆
- Java개념
- 빅오 표기법
- dfs
- 코딩공부
- 다이나믹 프로그래밍
- java
- 자바의정석연습문제
- 백준자바
- 개발공부
Archives
- Today
- Total
더 많이 실패하기
백준 1212번 8진수 2진수 자바 Java (☆공부 252일차) 본문
반응형
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 |
백준 정답 코드를 활용!
이전 코드보다 훨씬 깔끔하다

검은색 기준으로 나뉨
시간은 비슷하지만 메모리를 꽤 많이 절약한다
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준 17103번 골드바흐 파티션 자바 Java (☆공부 254일차) (0) | 2023.04.10 |
---|---|
백준 2089번 -2진수 자바 Java (☆공부 253일차) (0) | 2023.04.09 |
백준 1373번 2진수 8진수 자바 Java (☆공부 251일차) (0) | 2023.04.07 |
백준 17087번 숨바꼭질 6 자바 Java (☆공부 250일차) (0) | 2023.04.06 |
백준 9613번 GCD 합 자바 Java (☆공부 249일차) (0) | 2023.04.05 |
Comments