문제
해결 과정
- 규칙을 찾아야하는 문제
- if 입력받은
r
,l
의 자리수가 다르다면
print(0)
8이 하나도 없는 경우가 무조건 존재함
- else
l
의 자리수만큼 반복문을 돈다.
l
과 r
의 가장 큰 자릿수부터 확인하는데 같은 자리에 8이라면 cnt값 증가
- 둘 중 하나라도 8이 아니라면
break
시행착오
- 시간초과 풀이.. 20억개를 하나씩 count하는 것은 아무래도 오래걸리지요
import sys
l,r = map(int,sys.stdin.readline().split())
cnt = list(str(l)).count('8')
for i in range(l,r+1):
if cnt >= list(str(i)).count('8'):
cnt = list(str(i)).count('8')
print(cnt)
풀이
import sys
l,r = sys.stdin.readline().split()
Llen = len(l)
Rlen = len(r)
cnt = 0
if Llen != Rlen:
print(0)
else:
for i in range(Llen):
if l[i] == r[i]:
if l[i] == '8':
cnt +=1
else:
break
print(cnt)