https://www.acmicpc.net/problem/11170
주어진 범위 내의 모든 숫자를 문자열로 변환한 후, 0의 개수(문자열로 취급)을 세어주는 코드를 작성하였다.
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
count = 0
for i in range(n, m + 1):
i = str(i)
for j in range(len(i)):
if i[j] == "0":
count += 1
print(count)
count() 메서드를 사용하면 더 간단하게 나타낼 수 있다. 또한 for문을 한번만 쓰도록 개선해보았다.
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
count = 0
for i in range(n, m + 1):
i = str(i)
c = i.count("0")
count += c
print(count)