def divnum(n):
print_num = 0
for i in range(1, n+1):
div_num = list(map(int, str(i)))
sum_num = i + sum(div_num)
if(sum_num == n):
print_num = i
break
return print_num
N = int(input())
print(divnum(N))
위 문제는 브루트 포스 알고리즘으로
brute: 무식한, force: 힘
즉 완전 탐색 알고리즘을 사용하여, 모든 경우의 수를 구하여 그에 해당하는 값을 출력하는 형태이다.
그래서 나는 숫자를 입력받은후에 , 1부터 입력N 값 까지의 모든 경우의 수마다, 자리수를 나누고 해당 숫자를 더하는 형식을 사용하여 그 숫자와 N이 동일할때 생성자를 출력하는 방법으로 코딩해보았다.
백준[7568번]:: 덩치(Python,파이썬) (0) | 2020.10.07 |
---|---|
백준[2798번]:: 블랙잭(Python,파이썬) (0) | 2020.10.04 |
백준[10872번]:: 팩토리얼(Python,파이썬) (1) | 2020.09.24 |
백준[1316번]:: 그룹 단어 체커(Python,파이썬) (1) | 2020.09.24 |
백준[2941번]:: 크로아티아(Python,파이썬) (2) | 2020.09.22 |
댓글 영역