[백준/Python] 1105번 - 팔

Sujin Lee·2022년 7월 15일
0

코딩테스트

목록 보기
89/172
post-thumbnail
post-custom-banner

문제

1105번 - 팔

해결 과정

  • 규칙을 찾아야하는 문제
  • if 입력받은 r,l의 자리수가 다르다면
    • print(0) 8이 하나도 없는 경우가 무조건 존재함
  • else l의 자리수만큼 반복문을 돈다.
    • lr의 가장 큰 자릿수부터 확인하는데 같은 자리에 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

# 자리수가 다른 경우는 8이 없는 경우가 무조건 있기 때문에
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)
profile
공부한 내용을 기록하는 공간입니다. 📝
post-custom-banner

0개의 댓글