일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Project
- std
- html
- CSS
- python
- html5
- cout
- cow
- endl
- codecademy
- bool
- UE4
- Unreal
- Java
- 코딩도장
- 파이선
- for
- 영알남
- font weight
- 연결리스트
- Euler
- Polymorphism
- unreal engine4
- dictation
- Bull
- Notting hill
- C++
- 파이썬
- 알고리즘
- if
Archives
- Today
- Total
[Lv.1] 1~1000에서 각 숫자의 개수 구하기 본문
예로 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],"개")
#코딩도장 홈페이지에 올라온 어떤 사람풀이 이정도면 굉장히 쌈박한듯
'Programming > 기타 언어들' 카테고리의 다른 글
[Lv.1] 초완전수 (0) | 2017.03.06 |
---|---|
[Lv.1] 게시판 페이징 (0) | 2017.03.06 |
[Lv.1] 탭을 공백 문자로 바꾸기 (0) | 2017.03.06 |
[Lv.1] 10~1000까지 각 숫자 분해하여 곱하기의 전체 합 구하기 (0) | 2017.03.06 |
[Lv.1] 완전수 구하기 (0) | 2017.03.06 |
Comments