[baekjoon] 2231

윤동환·2023년 2월 13일
0

Algorithm

목록 보기
49/54
post-thumbnail

분해 합

문제 출처

단계별 풀어보기의 브루트 포스 부분이다.

브루트 포스란
brute: 무식한, force: 힘 무식한 힘으로 해석할 수 있다.
즉, 완전탐색 알고리즘을 의미한다.

성공 코드

알고리즘.
N = int(input())

def find_b(i, N):
    b = i
    bs = str(b)  
    for i1 in bs:
        b += int(i1)
    if b == N:
        return i
    return 0

cnt = 0
for i in range(N):
    cnt = find_b(i, N)
    if cnt != 0:
        print(cnt)
        break
if cnt == 0:
    print(0)    

문제를 풀기위해 고민한 것

  1. 하나의 함수를 활용하여 완전탐색을 하고자 하였다.
  2. 가장 낮은 생성자를 구하는 문제이므로 1부터 N까지 증가시켜가며 생성자로 부합하는 수를 찾고자 하였다.
  3. 각 자리수의 합을 구하기위해 N % 10 연산으로 나머지를 구하려다가 str의 특징을 살려 수를 iterable하게 만들어 각 자리수의 합을 구하였다.

결과

profile
모르면 공부하고 알게되면 공유하는 개발자

0개의 댓글