알고리즘 - 배열 만들기 2
생각
- l과 r 사이의 0과 5로 이루어진 모든 정수 구하기
- 10 - 15
- 5
- 50
- 55
- 500
- 3 56
- 5
- 50
- 55
- 3 433
- 5
- 50
- 55
- 500
- 000
- l과 r을 2진수로 변환하자
- 5보다 작으면 0
- 5보다 크면 1
결과
def to_05(k):
return int(bin(k)[2:].replace('1', '5'))
def solution(l: int, r: int):
ans = []
k = 1
while True:
val = to_05(k)
if val > r:
break
if val >= l:
ans.append(val)
k += 1
return ans if ans else [-1]- bin 쓸 수 있어야함
더 좋은 답
def solution(l, r):
answer = []
for x in range(l, r + 1):
s = str(x)
if all(ch in ['0', '5'] for ch in s):
answer.append(x)
return answer or [-1]- all 쓸 수 있어야함
댓글
첫 번째 댓글을 남겨보세요.