fork download
  1. import math
  2.  
  3. def loc_where(obj): # 자릿수 return
  4. i=0
  5. while obj:
  6. i+=1
  7. obj=obj[1:]
  8. return i
  9.  
  10. def first_in(n,arr):
  11. n_one = int(n[0])
  12. for i in range(1,n_one):
  13. arr[i]+=int(math.pow(10,len_n-1))
  14. arr[n_one]+=int(n[1:])+1
  15. return arr
  16.  
  17. def second_in(n,arr,loc):
  18. multi_num = int(math.pow(10,loc-1))
  19. for i in range(1,10):
  20. arr[i]+=multi_num
  21. for i in range(0,10):
  22. arr[i]+=(int(n[:len_n-loc])-1)*multi_num
  23. for i in range(0,int(n[len_n-loc])):
  24. arr[i]+=multi_num
  25. arr[int(n[len_n-loc])]+=(int(n[len_n-loc+1:])+1)
  26. return arr
  27.  
  28. def last_in(n,arr,loc):
  29. for i in range(1,10):
  30. arr[i]+=1
  31. for i in range(0,10):
  32. arr[i]+=(int(n[:len_n-1])-1)
  33. for i in range(0,int(n[len_n-1])+1):
  34. arr[i]+=1
  35. return arr
  36.  
  37. num = input()
  38. loc_n = loc_where(num) # 현재 진행 중인 자릿수
  39. len_n = len(num) # 주어진 수의 자릿수
  40. num_array = [0,0,0,0,0,0,0,0,0,0]
  41. num_array = first_in(num,num_array)
  42. loc_n-=1
  43. while loc_n!=1:
  44. num_array = second_in(num,num_array,loc_n)
  45. loc_n-=1
  46. num_array = last_in(num,num_array,loc_n)
  47.  
  48. for result in num_array:
  49. print(result, end=' ')
  50.  
Success #stdin #stdout 0.02s 9608KB
stdin
1000000000
stdout
788888898 900000001 900000000 900000000 900000000 900000000 900000000 900000000 900000000 900000000