[Lv.1] 1~1000에서 각 숫자의 개수 구하기 본문

Programming/기타 언어들

[Lv.1] 1~1000에서 각 숫자의 개수 구하기

쩡호 2017. 3. 6. 22:29

예로 10 ~ 15 까지의 각 숫자의 개수를 구해보자

10 = 1, 0
11 = 1, 1
12 = 1, 2
13 = 1, 3
14 = 1, 4
15 = 1, 5

그러므로 이 경우의 답은 0:1개, 1:7개, 2:1개, 3:1개, 4:1개, 5:1개



 

a=[]
for m in range(0,10):
a.append(0)
for i in range(1,1001):
if i<10:
j=i%10
a[j]+=1
elif i<100:
j=i%10
a[j]+=1
m=int(i/10)
a[m]+=1
elif i<1000:
j=i%10
a[j]+=1
m=int(i/100)
a[m]+=1
o=int((i-(m*100+j))/10)
a[o]+=1
else:
a[0]=a[0]+3
a[1]=a[1]+1
print(a)

#여기까지가 내풀이.. 자바했을 때 노가다 해서 그런지 노가다성이... 사람들이 푼거 보면서 공부해야지


temp=[0,0,0,0,0,0,0,0,0,0] # 리스트 생성
for num in range(1,1001): #0~1000
for tp in (str(num)): # 각 숫자를 배열로 취급하기 위해 string화 시킴
temp[int(tp)]+=1 # 넣을땐 다시 int로 해서 temp에 넣음

for i in range(10): # 출력
print(i,":",temp[i],"개")
#코딩도장 홈페이지에 올라온 어떤 사람풀이 이정도면 굉장히 쌈박한듯


 


Comments