반응형
[ Contents ]
1. 문제 (링크 참조)
2231번: 분해합
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이
www.acmicpc.net
2. 문제 풀이
분해합: 자기 자신과 각 자릿수의 합
M의 분해합이 N인 경우, M은 N의 생성자입니다. N의 가장 작은 생성자를 찾는 문제입니다.
2022.01.16 - [Algorithm] - [Algorithm] 브루트 포스(Brute Force)는 노가다 기법?
[Algorithm] 브루트 포스(Brute Force)는 노가다 기법?
[ Contents ] 1. 브루트 포스란? Brute(짐승 같은, 난폭한) + Force(힘, 폭력)의 합성어입니다. 무식하게 푸는 기법으로, '노가다'에 가까운 접근법입니다. 모든 경우의 수를 시험해보며 문제를 해결합니
star7sss.tistory.com
브루트 포스 문제입니다. 1부터 N까지 1씩 올려가며 생성자가 있는지 확인합니다.
3. 코드
N = int(input())
res = 0 #결과값
for i in range(1, N):
subSum = 0 #분해합
num = i
#각 자릿수 더하기
while num != 0:
subSum += (num % 10)
num //= 10
#자기 자신과 각 자릿수 합이 N과 같아야 생성자
if subSum+i == N:
res = i
break
print(res)
반응형
'Algorithm' 카테고리의 다른 글
[구현] 백준 2522 별 찍기 - 12 - Python (0) | 2022.02.08 |
---|---|
[구현/재귀함수] 백준 17478 재귀함수가 뭔가요? - Python (0) | 2022.02.08 |
[Brute Force] 백준 1436 영화감독 숌 - Python (0) | 2022.02.07 |
[구현/수학] 백준 1085 직사각형에서 탈출 - Python (0) | 2022.02.07 |
[Brute Force] 백준 1018 체스판 다시 칠하기 - Python (0) | 2022.02.07 |
댓글