반응형
문제 출처
1373번: 2진수 8진수
첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.
www.acmicpc.net
문제
2진수가 주어졌을 때, 8진수로 변환하는 프로그램을 작성하시오.
입력
첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.
출력
첫째 줄에 주어진 수를 8진수로 변환하여 출력한다.
풀이
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
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String N = br.readLine();
// 세자리씩 끊었을 때 한 자리만 남았을 경우
if(N.length() % 3 == 1)
sb.append(N.charAt(0));
// 세자리씩 끊었을 때 두 자리만 남았을 경우
if(N.length() % 3 == 2)
sb.append((N.charAt(0) - '0') * 2 + (N.charAt(1) - '0'));
// 나머지 경우
for(int i = N.length() % 3; i < N.length(); i+=3) {
sb.append((N.charAt(i) - '0') * 4 + (N.charAt(i+1) - '0') * 2 + (N.charAt(i+2) - '0'));
}
System.out.println(sb);
}
}
|
cs |
반응형
'백준' 카테고리의 다른 글
[백준 / JAVA] 11053번 가장 긴 증가하는 부분 수열 (0) | 2020.12.29 |
---|---|
[백준 / JAVA] 1212번 8진수 2진수 (0) | 2020.12.28 |
[백준 / JAVA] 10844번 쉬운 계단 수 (0) | 2020.12.27 |
[백준 / JAVA] 1699번 제곱수의 합 (0) | 2020.12.10 |
[백준 / JAVA] 11005번 진법 변환 2 (0) | 2020.12.10 |