코딩테스트/백준 준비(과거)
(파이썬) 백준 4673, 1065
junjunjun
2021. 6. 26. 17:42
반응형
4673 셀프 넘버
무지한 방법 .. 1부터 10000까지 다 구해주는 방법.
arr =[0]*10000
for i in range(10000):
sum=0
strI = str(i)
sum += i
for j in strI:
sum +=int(j)
if sum >= 10000:continue
arr[sum]+=1
for i in range(10000):
if arr[i]==0:
print(i)
set을 이용한 방법도 있는데 시간이나 메모리는 비슷하다.
1065 한수
def a(n):
if n < 100: #100이하의 n의 한수의 개수는 n개
return n
count = 99
for i in range(100,n+1):
intArr = list(map(int,str(i)))
if intArr[1] - intArr[0] ==intArr[2] - intArr[1]: # 등차수열 확인
count+=1
return count
n = int(input())
print(a(n))
반응형