본문 바로가기

Development/Algorithm

[Algorithm] 백준 4673번 문제 풀이

728x90

 

Baekjoon Logo

 

백준 알고리즘 단계별로 문제풀이 4673번 문제 풀이 입니다. 코드에 대한 자세한 설명은 주석을 통해 최대한 자세하게 다루도록 하겠습니다.

# Function of finding self number
def d(n):

    # Stringify the number
    string_n = str(n)

    # Finding the sum of each digit
    sum_of_each_digit = 0
    for i in range(len(string_n)):
        sum_of_each_digit += int(string_n[i])

    self_number = int(n) + sum_of_each_digit
    return self_number


# Making list of numbers
numbers = list()
for i in range(10000):
    numbers.append(i + 1)

# Making list of self numbers
self_numbers = list()
for i in numbers:
    self_number = d(i)
    self_numbers.append(self_number)

# Removing the difference between numbers and self numbers
for i in set(self_numbers):
    try:
        numbers.remove(i)
    except:
        pass

# Printing the numbers
for i in numbers:
    print(i)
728x90