Just Fighting
[백준] 8진수 2진수 본문
728x90
https://www.acmicpc.net/problem/1212
< 문제 설명 >
8진수를 2진수로 바꿔라.
이때, 주어진 수가 0이 아닐 경우에는 출력값의 앞이 무조건 1이여야 한다.
< 시행착오 >
x = int(input())
binary = ['000','001','010','011','100','101','110','111']
ans = ''
if x == 0 : print(0)
else:
for i in str(x):
ans += binary[int(i)]
print(ans.lstrip('0'))
while문 신나게 돌리다가 시간 초과가 나서 생각한 다른 방법이었다.
이것도 엄청 오래 돌아갔다,,
< 문제 풀이 >
x = int(input(), 8)
print(bin(x)[2:])
다른 풀이를 봤더니 내가 놓치고 있는게 아주 많았다는 것을 깨달았다 !
일단 값을 받을 때 8진수로 받고 싶으면 int()의 두번째 인자에 8을 쓰면 된다.
디폴트는 10이고, 원하는대로 바꿀 수 있다.
그리고 2진수로 바꾸는 가장 쉬운 방법은 bin()을 사용하는 것!
까먹지 말자,,ㅎㅎ
728x90
'Algorithm > 코딩테스트 연습' 카테고리의 다른 글
[백준] 뒤집힌 덧셈 (0) | 2022.06.02 |
---|---|
[백준] 운동 (0) | 2022.05.26 |
[백준] 분산처리 (0) | 2022.05.10 |
[프로그래머스] 디스크 컨트롤러 (0) | 2022.03.25 |
[프로그래머스] 프린터 (0) | 2022.03.21 |
Comments