반응형
1) 사이트
2) 문제
브루트 포스 문제 입니다. 1부터 입력받은 N까지 전수조사하며 최소의 생성자를 찾아내면 됩니다.
216에 경우에도 216부터 1까지 거꾸로 전수조사를 하면 답은 생성자 207이 도출됩니다. ( 207+2+7 = 216)
하지만 이 문제는 최소의 생성자를 찾는 것이므로 1~216까지 전수조사를 해야합니다. ( 198+1+9+8 = 216)
3) 파이썬 코드
result=0
flag=0
number=int(input())
for i in range(1,number+1):
copy=i
result=i
while(copy!=0):
result=result+copy%10
copy=copy//10
if(result==number):
flag=1
print(i)
break
if flag==0:
print(0)
3-1) 선수 지식
파이썬 코드를 이해하기 위해 알아야 할 선수 지식이 없습니다.
3-2) 설명
제가 선택한 방법은 1~입력받은 수까지 조사하면서 입력받은 수와 같게 되는 생성자를 찾는 것 입니다.
for i in range(1,number+1):
copy=i
result=i
while(copy!=0):
result=result+copy%10
copy=copy//10
if(result==number):
flag=1
print(i)
break
1부터 증가하는 수를 차례대로 10으로 자릿수를 나눠 더해보고 입력받은 수와 같으면 반복문을 멈추고 결과를 출력합니다.
앞서 문제에서 결과가 없으면 0을 출력하라 했기 때문에 다음과 같이 flag를 추가해주었습니다.
if flag==0:
print(0)
4) c언어
없음
궁금한 점이나 공유할 정보가 있다면 댓글로 남겨주세요 *^^*
끝!
반응형
'알고리즘 > 백준' 카테고리의 다른 글
2750번 수 정렬하기 (2) | 2021.07.31 |
---|---|
7568번 덩치 (0) | 2021.07.29 |
3053번 택시 기하학 (0) | 2021.07.24 |
4153번 직각삼각형 (0) | 2021.07.23 |
3009번 네 번째 점 (0) | 2021.07.23 |