처음 이 문제를 보고 든 생각은 숫자를 2진수로 변환하여 1의 갯수를 구해주는 부분을 따로 함수를 작성하여서 return 값을 통해 비교해주는 형식으로 코드를 작성해주어야 가독성이 좋을 것 같다고 생각했다.
def cnt1(x):
x = bin(x)
x = x[2:]
lx = list(x)
cnt = lx.count("1")
return cnt
def solution(n):
answer = 0
nn = n+1
while True:
if cnt1(n) == cnt1(nn):
answer = nn
break
else:
nn+=1
return answer
런타임에러를 고려하며 코드를 작성해주어야 할 만큼 복잡한 방식의 풀이가 필요한 문제가 아니기때문에 생각나는 대로 단순 구현 해주면 해결하기 쉬운 문제였던 것 같다.