공부/데이터사이언스
[백준] 5단계 - 4673번 (파이썬) check!
PYo
2022. 6. 23. 16:48
반응형
4673번
https://www.acmicpc.net/problem/4673
# 풀이1
def d(n):
num = n
while n != 0:
x = 10**(len(str(n))-1)
num += (n//x)
n = n%x
return num
ans = set()
for i in range(10001):
ans.add(d(i))
for i in range(10001):
if i not in ans:
print(i)
# 풀이2
def selfnum(n):
l = list(range(1,n+1))
for i in list(range(1,n+1)):
j = i
while j>0:
a = j//(10**(len(str(j))-1))
i = i+a
j = j%(10**(len(str(j))-1))
try:
l.remove(i)
except:
pass
return l
for x in selfnum(10000):
print(x)
# 풀이3
def selfnum(x):
temp=[]
for i in range(x+1):
a = i
for j in range(len(str(i))):
a = a + int(str(i)[j])
temp.append(a)
for i in range(x):
if i not in temp:
print(i)
selfnum(10000)
+ ishs291203님 코드 참고. (이게 더 깔끔한 것 같다..!)
def d(n):
num=n
while n!=0:
num +=n%10
n//=10
return num
반응형