문제
https://school.programmers.co.kr/learn/courses/30/lessons/77885
코드
def solution(numbers):
answer = []
for num in numbers:
num_b = '0'*(8-len(bin(num)[2:]))+bin(num)[2:]
n = num
while n<=10**15:
n += 1
b = '0'*(8-len(bin(n)[2:]))+bin(n)[2:]
count = 0
for i in range(8):
if num_b[-i-1] != b[-i-1]:
count += 1
if count <= 2:
answer.append(n)
break
return answer
def solution(numbers):
answer = []
for n in numbers:
b = list('0'*(8-len(bin(n)[2:]))+bin(n)[2:])
idx = ''.join(b).rfind('0')
b[idx] = '1'
if n%2 == 1:
b[idx+1] = '0'
answer.append(int(''.join(b),2))
return answer
def solution(numbers):
answer = []
for n in numbers:
b = list('0' + bin(n)[2:])
idx = ''.join(b).rfind('0')
b[idx] = '1'
if n%2 == 1:
b[idx+1] = '0'
answer.append(int(''.join(b),2))
return answer
리뷰
b = list('0'*(8-len(bin(n)[2:]))+bin(n)[2:])
['0', '0', '0', '0', '0', '1', '1', '1']
▼
b = list('0' + bin(n)[2:])
['0', '1', '1', '1']
=> 0을 임의로 추가해준게 인상깊었다
'⏳ 알고리즘 > python 알고리즘 문제 풀이' 카테고리의 다른 글
프로그래머스 - LV3. 정수 삼각형 (0) | 2022.10.20 |
---|---|
프로그래머스 - LV3. 야근 지수 (0) | 2022.10.19 |
프로그래머스 - LV2. 하노이의 탑 (0) | 2022.10.19 |
프로그래머스 - LV2. 스킬트리 (0) | 2022.10.16 |
프로그래머스 - LV2. 두 큐 합 같게 만들기 (0) | 2022.10.13 |