반응형

8진수가 주어졌을 때 2진수로 바꾸는 문제이다.
8진수를 2진수로 바꾸는 방법만 안다면 쉽게 해결할 수 있을 것이다!
8진수를 한 문자씩 끊어서 2진수로 변환한 다음 다 이어붙이면 된다!
사실 직전 문제인 2진수 8진수는 못 풀겠어서… 일단 이거부터 풀었다…ㅜㅜ
import java.io.*;
public class OctaltoBinary_1212 {
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 c = N.charAt(i) - '0';
if (c >= 4) { // 숫자가 4보다 클 경우
sb.append(1); // 1XX
c -= 4;
} else { // 그게 아니라면
sb.append(0); // 0XX
}
if (c >= 2) { // 다음 숫자가 2보다 클 경우
sb.append(1); // X1X
c -= 2;
} else { // 그게 아니라면
sb.append(0); // X0X
}
if (c >= 1) { // 숫자가 1보다 클 경우
sb.append(1); // XX1
} else { // 그게 아니라면
sb.append(0); // XX0
}
}
// 0으로 시작하는지 판단해서 0을 제거
if (sb.charAt(0) == '0') {
if (sb.charAt(1) == '0')
System.out.print(sb.substring(2, sb.length()));
else
System.out.print(sb.substring(1, sb.length()));
} else {
System.out.print(sb);
}
br.close();
}
}
로그인
www.acmicpc.net
작성일자: 2023-09-16
'컴퓨터 공학 > 백준' 카테고리의 다른 글
[백준] JAVA 자바 : 진법 변환 2 (11005번) (0) | 2024.01.22 |
---|---|
[백준] JAVA 자바 : 골드바흐 파티션 (17103번) (0) | 2024.01.22 |
[백준] JAVA 자바 : 숨바꼭질 6 (17087번) (0) | 2024.01.22 |
[백준] JAVA 자바 : GCD 합 (9613번) (0) | 2024.01.22 |
[백준] JAVA 자바 : 조합 0의 개수 (2004번) (0) | 2024.01.22 |