https://www.acmicpc.net/step/5
1. 정수 N개의 합
def solve(a):
t = 0
for data in a:
t += data
return t
2. 셀프 넘버
dns = list()
def test(n):
if n < 10:
dn = 2 * n
elif 10 <= n < 100:
dn = n + int(str(n)[0]) + int(str(n)[1])
elif 100 <= n < 1000:
dn = n + int(str(n)[0]) + int(str(n)[1]) + int(str(n)[2])
elif 1000 <= n < 10000:
dn = n + int(str(n)[0]) + int(str(n)[1]) + int(str(n)[2]) + int(str(n)[3])
else:
dn = n + int(str(n)[0]) + int(str(n)[1]) + int(str(n)[2]) + int(str(n)[3]) + int(str(n)[4])
if n not in dns:
print(n)
dns.append(dn)
for i in range(1,10001):
test(i)
3. 한수
def solve(n):
count = 0
if n == 1:
return 1
else:
for i in range(1,n+1):
if i < 100:
count += 1
elif 100 <= i <1000:
d1 = int(str(i)[1]) - int(str(i)[0])
d2 = int(str(i)[2]) - int(str(i)[1])
if d1 == d2:
count += 1
else:
d1 = int(str(i)[1]) - int(str(i)[0])
d2 = int(str(i)[2]) - int(str(i)[1])
d3 = int(str(i)[3]) - int(str(i)[2])
if d1 == d2:
if d2 == d3:
count += 1
return count
a = int(input())
print(solve(a))