https://programmers.co.kr/learn/courses/30/lessons/77885
처음에 xor 연산 + count('1') <=2로 풀었다가 시간 초과가 났다.
그래서 좀 억지지만 규칙을 찾아서 그대로 구현했다.
뭐 어쨌든 답이 틀린건 아니니깐..?
나의 풀이
def solution(numbers):
answer = []
for i in numbers:
binary = list(bin(i))
binary.reverse()
idx = binary.index('0')
if idx == len(binary)-1:
binary.reverse()
binary = '0b10'+''.join(binary[3:])
elif idx == 0:
binary[idx] ='1'
binary.reverse()
binary = ''.join(binary)
else:
binary[idx] = '1'
binary[idx-1] = '0'
binary.reverse()
binary = ''.join(binary)
answer.append(int(binary,2))
return answer
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 영어 끝말잇기 (Python) (0) | 2021.11.02 |
---|---|
[프로그래머스] 삼각 달팽이 (Python) (0) | 2021.11.02 |
[프로그래머스] 프렌즈4블록(Python) (0) | 2021.11.02 |
[프로그래머스] 피로도 (Python) (0) | 2021.11.01 |
[프로그래머스] 배달 (Python) (0) | 2021.11.01 |
댓글