백준4673

    [백준 4673번-파이썬/Python] 셀프 넘버

    http://acmicpc.net/problem/4673 {코드} numbers = {i for i in range(1, 10001)} generated = set() for i in range(1, 10001): i += sum(map(int, str(i))) if i > 10000: continue generated.add(i) [print(i) for i in sorted(list(numbers-generated))] {설명} 이 문제는 집합을 이용해서 풀 수 있습니다. 먼저 1부터 10000까지 반복하며 각 숫자의 d(n)들로 이루어진 집합을 만들면 해당 집합에는 셀프 넘버가 없습니다. 그러므로 1부터 10000까지의 수를 가진 집합에서 위의 집합을 빼면 셀프 넘버들로만 이루어진 집합이 만들어집니..