문제
문제해결
- 8진수의 경우 경우의 수가 8가지 밖에 안되기 때문에 switch문을 사용해서 각 자리수를 2진수로 변환하였다
- 맨앞 2자리가 0이 올수도 있기 때문에 0일 경우 삭제하는 로직을 추가하였다
import java.util.Scanner;
public class B1212 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
//8진수 -> 2진수 모든 경우의 수 구하기
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
switch (c){
case '0': sb.append("000"); break;
case '1': sb.append("001"); break;
case '2': sb.append("010"); break;
case '3': sb.append("011"); break;
case '4': sb.append("100"); break;
case '5': sb.append("101"); break;
case '6': sb.append("110"); break;
case '7': sb.append("111"); break;
}
}
//앞 2자리가 0일경우 삭제
if (sb.charAt(0)=='0') sb.deleteCharAt(0);
if (sb.charAt(0)=='0') sb.deleteCharAt(0);
System.out.println(sb);
}
}
'[알고리즘] > 백준' 카테고리의 다른 글
백준 17103 자바 - 골드바흐 파티션 (0) | 2021.07.06 |
---|---|
백준 2089 자바 - -2진수 (0) | 2021.07.05 |
백준 1373 자바 - 2진수 8진수 (0) | 2021.07.04 |
백준 17087 자바 - 숨바꼭질6 (0) | 2021.07.03 |
백준 9613 자바 - GCD 합 (0) | 2021.07.02 |