[Java] 백준 1373번 2진수 8진수
2022. 4. 10. 16:17
728x90
https://www.acmicpc.net/problem/1373
1373번: 2진수 8진수
첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.
www.acmicpc.net
이번 문제는 2진수를 8진수로 바꾸는 문제입니다.
마지막 자리가 0이 생략되기 때문에 이 부분만 집중해서 풀면 쉽게 풀린다고 생각합니다.
저는 3을 %로 나누어 나머지가 1과 2로 구분지어 계산하였습니다.
package BJ;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BJ_2진수8진수 {
static String str;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
str = br.readLine();
StringBuilder sb = new StringBuilder();
if (str.length() % 3 == 1) {
sb.append(str.charAt(0));
} else if (str.length() % 3 == 2) {
sb.append((str.charAt(0) - '0') * 2 + (str.charAt(1) - '0'));
}
for (int i = str.length() % 3; i < str.length(); i += 3) {
sb.append((str.charAt(i) - '0') * 4 + (str.charAt(i+1) - '0') * 2 + (str.charAt(i+2) - '0'));
}
System.out.println(sb.toString());
}
}
Ysik Github : https://github.com/Y1sik/Algorithm/blob/main/BJ/BJ_2%EC%A7%84%EC%88%988%EC%A7%84%EC%88%98.java
반응형
'알고리즘' 카테고리의 다른 글
[Java] 백준 7567번 그릇 (0) | 2022.04.12 |
---|---|
[Java] 백준 1439번 뒤집기 (0) | 2022.04.11 |
[Java] 백준 10820번 문자열 분석 (0) | 2022.04.09 |
[Java] 백준 5430번 AC (0) | 2022.04.08 |
[Java] 백준11655번 ROT13 (0) | 2022.04.07 |