티스토리 뷰
import java.util.Scanner;
// # 8진수 2진수
public class boj_1212 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
String[] arr = {"000", "001", "010", "011", "100", "101", "110", "111"};
String s = sc.nextLine();
// 2진수 0이 되는 경우
if (s.length() == 1 && s.charAt(0) == '0') {
sb.append(0);
} else {
for (int i = 0; i < s.length(); i++) {
int n = s.charAt(i) - '0'; // 8진수 자리 뽑기
// 8진수의 첫째 자리 에서 0 처리
if (i == 0 && n < 4) {
switch (n) {
case 1:
sb.append("1");
break;
case 2:
sb.append("10");
break;
case 3:
sb.append("11");
}
} else {
sb.append(arr[n]);
}
}
}
System.out.println(sb.toString());
}
}
- 생각은 했는데 코드로 짜는걸 못했음
- 8진수의 각자리를 따져서 풀이
- 8진수에 0이 들어올경우 따로 처리
- ex) 314 -> 011 / 001 / 100 3자리로 끊어서 봤을때 맨 앞자리 0을 처리해야되니까
if문에서 switch case로 따로 처리 , 2째자리부터는 배열에서 뽑아서 붙이기
'PS > boj' 카테고리의 다른 글
boj)1463 - 1로 만들기 (0) | 2020.09.16 |
---|---|
boj)17103 - 골드바흐 파티션 (0) | 2020.09.16 |
boj)1373 - 2진수 8진수 (0) | 2020.09.16 |
boj)17087 - 숨바꼭질 6 (0) | 2020.09.15 |
boj)9613 - GCD 합 (0) | 2020.09.15 |
링크
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 이펙티브자바 아이템60
- 킹수빈닷컴
- REST API
- http
- 모던자바스크립트
- 패스트캠퍼스 컴퓨터공학 완주반
- 프로그래머스
- GCP
- 이펙티브자바
- HTTP 완벽가이드
- Spring Security
- js array
- java
- HTTP 완벽 가이드
- 드림코딩
- dreamcoding
- JS 딥다이브
- 백기선 스터디
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 이펙티브자바 스터디
- 백준
- BOJ
- 이펙티브자바 아이템59
- js api
- 김영한 http
- JPA 연관관계 매핑
- ㅇㄷㅇㅈ
- 프로그래머스 SQL
- js promise
- 김영한 JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함