1373번: 2진수 8진수백준/문제2023. 10. 13. 13:48
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/1373
언어 : Kotlin
문제 설명 :
2진수가 주어졌을 때, 8진수로 변환하는 프로그램을 작성하시오.
- 첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.
- 첫째 줄에 주어진 수를 8진수로 변환하여 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 128MB
입출력 예 :
입력 | 출력 |
11001100 | 314 |
풀이 :
import java.io.BufferedWriter
import java.io.OutputStreamWriter
fun main() = with(System.`in`.bufferedReader()) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val n = readLine()
var remain = n.length % 3
val sb = StringBuilder()
var temp = 0
when (remain) {
1 -> sb.append(n[0] - '0')
2 -> {
temp += (n[0] - '0') * 2
temp += n[1] - '0'
sb.append(temp)
}
}
while (remain < n.length) {
temp = 0
temp += (n[remain] - '0') * 4
temp += (n[remain + 1] - '0') * 2
temp += n[remain + 2] - '0'
sb.append(temp)
remain += 3
}
bw.write(sb.toString())
bw.flush()
bw.close()
}
비슷한 문제 : https://small-stepping.tistory.com/567
'백준 > 문제' 카테고리의 다른 글
1543번: 문서 검색 (0) | 2023.10.17 |
---|---|
2667번: 단지번호붙이기 (0) | 2023.10.16 |
2493번: 탑 (0) | 2023.10.12 |
1389번: 케빈 베이컨의 6단계 법칙 (1) | 2023.10.11 |
3273번: 두 수의 합 (2) | 2023.10.10 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!