본문 바로가기

Algorithm

2231 분해합 / 브루트포스

 

 

1. 각각의 자릿수를 문자열로 바뀌서 더하기

n = int(input())
ans = 0
for i in range(n):
    num = i #자기 자신 더하기
    j = str(i)
    for k in j: #각 자리수 더하기
        num += int(k)

    if num == n: #조건에 해당된다면 값 리턴
        ans = i
        break

print(ans)

 

2. 각각의 자릿수를 나머지 연산을 이용하여 더하기

n = int(input())
ans = 0
for i in range(n):
    num = i #자기 자신 더하기
    current_num = i
    while current_num > 0:
        num += current_num % 10 #자릿수마다 더하기
        current_num //= 10 #더한 자릿수는 제거

    if num == n:
        ans = i
        break

print(ans)

'Algorithm' 카테고리의 다른 글

7568 덩치 / 브루트포스  (0) 2025.01.03
자바 알고리즘 연습(2)  (0) 2025.01.02
2798번 블랙잭 / 브루트포스  (1) 2025.01.01
13305번 주유소 / 그리디  (0) 2024.12.31
자바 알고리즘 연습(1)  (0) 2024.12.24