728x90
SMALL
# 백준 4673 셀프넘버
num = 1
# 리스트 10000개로 생성
result = []*10000
# 셀프넘버가 아닌값을 구하여 리스트에 담기
while(True):
n_list = list(map(int, str(num)))
sum = 0
for i in range(len(n_list)):
if i == 0:
sum = n_list[i] + num
else:
sum += n_list[i]
num += 1
result.append(sum)
if sum >= 10000:
break
result2 = []*10000
num2 = 1
# 1 - 10000 까지 숫자가 담긴 리스트 생성
for j in range(10000):
result2.append(num2)
num2 += 1
# 셀프넘버인 값을 구하기 위해 10000까지 담긴 리스트에서 셀프넘버 담긴 리스트 차집합
set1 = set(result)
set2 = set(result2)
final = list(set2 - set1)
final.sort()
for k in range(len(final)):
# 10000 보다 작거나 같은 셀프넘버이기에 9993 이하로 출력
if final[k] <= 9993:
print(final[k])# 백준 4673 셀프넘버
num = 1
# 리스트 10000개로 생성
result = []*10000
# 셀프넘버가 아닌값을 구하여 리스트에 담기
while(True):
n_list = list(map(int, str(num)))
sum = 0
for i in range(len(n_list)):
if i == 0:
sum = n_list[i] + num
else:
sum += n_list[i]
num += 1
result.append(sum)
if sum >= 10000:
break
result2 = []*10000
num2 = 1
# 1 - 10000 까지 숫자가 담긴 리스트 생성
for j in range(10000):
result2.append(num2)
num2 += 1
# 셀프넘버인 값을 구하기 위해 10000까지 담긴 리스트에서 셀프넘버 담긴 리스트 차집합
set1 = set(result)
set2 = set(result2)
final = list(set2 - set1)
final.sort()
for k in range(len(final)):
# 10000 보다 작거나 같은 셀프넘버이기에 9993 이하로 출력
if final[k] <= 9993:
print(final[k])
728x90
LIST
'파이썬 > 코딩테스트' 카테고리의 다른 글
[백준] 거북이 - Python(파이썬) (0) | 2024.03.23 |
---|---|
[백준] 블랙잭 - Python(파이썬) (0) | 2024.03.23 |
[백준] 콘테스트 문제 - Python(파이썬) (1) | 2024.03.23 |
[백준] ATM - Python(파이썬) (1) | 2024.03.23 |
[백준] 수 정렬하기 2 - Python(파이썬) (0) | 2024.03.23 |