[Bronze II] 8진수 2진수 - 1212
성능 요약
메모리: 31772 KB, 시간: 464 ms
분류
구현, 수학, 문자열
제출 일자
2024년 9월 9일 20:04:48
문제 설명
8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오.
입력
첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.
출력
첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.
시간초과 풀이
result에 결과값을 계속 담아두었던 코드로 마지막 result[1:] 부분에서 시간을 많이 사용하지 않았나 라고 생각중이다.
import sys
num = sys.stdin.readline().rstrip()
result = ""
for i in range(0,len(num)):
number = int(num[i])
temp = ""
for _ in range(3):
temp += str(number % 2)
number = number // 2
result += temp[::-1]
if result[0] == "0": result = result[1:]
if result[0] == "0": result = result[1:]
print(result)
맞은 풀이
import sys
def transform(number):
number = int(number)
temp = ""
for _ in range(3):
temp += str(number % 2)
number = number // 2
return temp[::-1]
num = sys.stdin.readline().rstrip()
temp = transform(num[0])
if temp[0] == "0": temp = temp[1:]
if temp[0] == "0": temp = temp[1:]
print(temp,end = "")
for i in range(1,len(num)):
print(transform(num[i]),end = "")
'알고리즘 문제 풀이 > 백준' 카테고리의 다른 글
[백준] 요세푸스 문제- python[ 구현 ] (0) | 2024.09.27 |
---|---|
[백준] 9046번 - 복호화- python[ 구현 ] (1) | 2024.09.10 |
[백준] 곱셈- python[ 구현 ] (0) | 2023.11.13 |
[백준] 최단경로- python[ Dijkstra ] (1) | 2023.11.01 |
[백준] 평범한 배낭 - python[ dp ] (0) | 2023.10.31 |
[Bronze II] 8진수 2진수 - 1212
성능 요약
메모리: 31772 KB, 시간: 464 ms
분류
구현, 수학, 문자열
제출 일자
2024년 9월 9일 20:04:48
문제 설명
8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오.
입력
첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.
출력
첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.
시간초과 풀이
result에 결과값을 계속 담아두었던 코드로 마지막 result[1:] 부분에서 시간을 많이 사용하지 않았나 라고 생각중이다.
import sys
num = sys.stdin.readline().rstrip()
result = ""
for i in range(0,len(num)):
number = int(num[i])
temp = ""
for _ in range(3):
temp += str(number % 2)
number = number // 2
result += temp[::-1]
if result[0] == "0": result = result[1:]
if result[0] == "0": result = result[1:]
print(result)
맞은 풀이
import sys
def transform(number):
number = int(number)
temp = ""
for _ in range(3):
temp += str(number % 2)
number = number // 2
return temp[::-1]
num = sys.stdin.readline().rstrip()
temp = transform(num[0])
if temp[0] == "0": temp = temp[1:]
if temp[0] == "0": temp = temp[1:]
print(temp,end = "")
for i in range(1,len(num)):
print(transform(num[i]),end = "")
'알고리즘 문제 풀이 > 백준' 카테고리의 다른 글
[백준] 요세푸스 문제- python[ 구현 ] (0) | 2024.09.27 |
---|---|
[백준] 9046번 - 복호화- python[ 구현 ] (1) | 2024.09.10 |
[백준] 곱셈- python[ 구현 ] (0) | 2023.11.13 |
[백준] 최단경로- python[ Dijkstra ] (1) | 2023.11.01 |
[백준] 평범한 배낭 - python[ dp ] (0) | 2023.10.31 |