사용 언어: python 3.9.5
https://programmers.co.kr/learn/courses/30/lessons/17687
level 2
# 진수 변환 함수
def convert(num, base):
temp = "0123456789ABCDEF"
q, r = divmod(num, base)
if q == 0:
return temp[r]
else:
# q를 base로 변환
# 즉, n진수의 다음 자리를 구함
return convert(q, base) + temp[r]
def solution(n, t, m, p):
answer = ''
full = ''
i = 0
# 구할 크기 : m *t 이상
while len(full) < m * t:
# 진수변환
# full += str(int(str(i), n))
full += convert(i, n)
i += 1
# full += str(int(str(i), n))
full += convert(i, n)
# m 단위마다 끝고, 그 m에서 p번째를 구함
for i in range(p-1, len(full), m):
answer += full[i]
if len(answer) == t:
break
return answer
성공
11:19~12:02 (43분)
def convert(num, base):
temp = "0123456789ABCDEF"
q, r = divmod(num, base)
if q == 0:
return temp[r]
else:
# q를 base로 변환
# 즉, n진수의 다음 자리를 구함
return convert(q, base) + temp[r]
print(convert(4,2)) # 4를 2진수로 변환한 값을 문자열로 리턴
print(type(convert(4,2)))
>>> 100
>>> <class 'str'>
arr[start:stop:step]
start를 입력하지 않으면 0을 입력한 것과 같습니다.
stop을 입력하지 않으면 리스트의 길이 (len(arr)
)를 입력한 것과 같습니다.
step을 입력하지 않으면 1을 입력한 것과 같습니다.
arr = [0,1,2,3,4,5,6]
print(arr[::2])
print(arr)
print(arr[1:5:2])
>>> [0, 2, 4, 6]
>>> [0, 1, 2, 3, 4, 5, 6]
>>> [1, 3]
# 11:19~12:02
def convert(num, base):
temp = "0123456789ABCDEF"
q, r = divmod(num, base)
if q == 0:
return temp[r]
else:
# q를 base로 변환
# 즉, n진수의 다음 자리를 구함
return convert(q, base) + temp[r]
def solution(n, t, m, p):
full = ''
i = 0
# 구할 크기 : m *t 이상
while len(full) < m * t:
# 진수변환
full += convert(i, n)
i += 1
return full[p-1:m*t:m]