코드
def next_beginner_Number:
c = bin(n).count('1') -> c는 n을 이진법으로 바꾼 n의 1의 갯수
for m in range(n+1, 100001):
if bin(n).count('1') == c:
return m
두 번째 코드
def next_begginner_Number(n):
num1 = bin(n).count('1')
while True:
n = n+1
if num1 == bin(n).count('1'):
break
return n
-> 여기서 이진법을 구현한다는 것에서 좀 해매 던거 같다. n을 이진법으로 바꾼 수 중 1의 갯수를 찾는데 있어서 count = 0 를 통해 1의 개수를 슬라이싱 해서 구하려고 하니까 코드가 복잡해졌다. c = bin(n).count('1') 구문을 통해 바로 구할 수 있다는 것을 알게되었다.
코드
def solution(n):
for i in range(1, len([land])):
for j in range(len(land[0])):
land[i][j] = max(land[i - 1][:j] + land[i -1][i+1]) + land[i][j]
return max(land[-1])
-> for문을 구현하는 것까지는 했으나 그 다음 에서 막혔다. 경지가 좀 더 올라가면 이해 할 수 있지 않을까...
def count(n):
count = 0 -> 연속된 자연수의 합의 갯수
for i in ranage(1, n + 1):
s = 0 -> n까지의 합을 구하 기위한 임시 변수
if s < n:
s += i
i += 1
if s == n:
count += 1
return count
-> 전체적인 구성은 직접 내용과 만들었던 내용과 비슷하나 사소한 부분에서 다름이 있었다. 조금만 더 생각 했으면 맞췄을 문제인데 성급하게 포기했던거 같다. 틀리더라도 다시 생각해보는 습관을 들일 필요가 있다.