Python/코딩도장 풀이 모음
[코딩도장] [Lv.1] 1~1000에서 각 숫자의 개수 구하기
Dailybook406
2022. 5. 9. 23:24
[ 문제 ]
예로 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개
[ 풀이 ]
# My solution
num_dict = {} #1
for i in range(1,1000+1) : #2
for j in str(i) : #3
if j in num_dict : #4
num_dict[j] += 1
else : #5
num_dict[j] = 1
print(num_dict)
실행결과
{'1': 301, '2': 300, '3': 300, '4': 300, '5': 300, '6': 300, '7': 300, '8': 300, '9': 300, '0': 192}
더보기
# 베스트 풀이 방법
count={ x:0 for x in range(0,10) }
for x in range(1,1001):
for i in str(x):
count[int(i)]+=1
print(count)
#1
각 숫자를 key로 할 딕셔너리 생성
#2
1~1000까지 각 숫자의 갯수를 세는 반복문
#3
입력받은 i의 각 자리 숫자를 구분
#4
만일 num_dict에 있는 숫자일 경우 해당하는 key의 value에 +1
#5
만일 num_dict에 없는 숫자일 경우 새로운 key:value(value는 1) 생성
https://codingdojang.com/scode/504?answer_mode=hide
코딩도장
프로그래밍 문제풀이를 통해서 코딩 실력을 수련
codingdojang.com