기록하고 까먹지 말기

1105 본문

전공/백준

1105

yha97 2022. 11. 30. 23:58

날짜 : 2022. 11. 30

사용 언어 : python

 

문제

 

 

코드

import sys

l, r = map(int, sys.stdin.readline().split())


def check(n):  # 8의 개수 구하기
    s = 0
    while n:
        if n % 10 == 8: s += 1
        n = n // 10
    return s


res = check(l)
for i in range(l, r+1):
    res = min(res, check(i))
    if res == 0:  # 최솟값이 0보다 작을 수 없기 때문에 출력 후 탈출
        print(res)
        exit()
print(res)

 

 

풀이

- 맨 처음 값을 설정한 후 반복문을 통해 최솟값을 추려내 나간다.

- 다만 res 값이 0인 경우에는 그보다 더 작은 값이 나올 수 없기 때문에 반복문을 돌릴 필요가 없다.

- 그래서 바로 값을 출력 후 프로그램을 종료

 

 

알게된 점

- 혹시나 해서 해봤는데 곧바로 정답이 나와서 좀 의외였다.

- 다만 자릿수를 구하는 과정에서 조금 실수가 있었던 점이 아쉬웠다.(n % 8 == 0 이라고 해서 계속 틀렸다고 나왔다.)

 

 

참고 사이트

 

'전공 > 백준' 카테고리의 다른 글

2012  (0) 2022.12.02
1120  (0) 2022.12.02
1041  (0) 2022.11.29
2193  (0) 2022.11.28
1092  (0) 2022.11.28