1105번: 팔
첫째 줄에 L과 R이 주어진다. L은 2,000,000,000보다 작거나 같은 자연수이고, R은 L보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
💡문제
L과 R이 주어진다. 이때, L보다 크거나 같고, R보다 작거나 같은 자연수 중에 8이 가장 적게 들어있는 수에 들어있는 8의 개수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 L과 R이 주어진다. L은 2,000,000,000보다 작거나 같은 자연수이고, R은 L보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 L보다 크거나 같고, R보다 작거나 같은 자연수 중에 8이 가장 적게 들어있는 수에 들어있는 8의 개수를 구하는 프로그램을 작성하시오.

풀이💬
규칙 1. 두 숫자의 길이가 다른 경우
→ 8을 하나도 포함하지 않는 숫자가 존재하기 때문에 0 출력
규칙2. 두 숫자의 길이가 같은 경우
→ 두 숫자의 값이 다른 경우 8을 하나도 포함하지 않는 경우가 발생하므로 0 출력
→ 두 숫자의 값 일부만 같을 때 백의 자리 8을 제외하고 나머지 자리는 8을 포함하지 않는 경우가 발생하므로 1 출력
→ 두 숫자의 값이 같을 때, 포함하고 있는 8 count 하기
L, R = input().split()
x, y = len(L), len(R)
cnt = 0
if x != y:
print(cnt)
else:
for i in range(x):
if L[i] != R[i]:
break
else:
if L[i] == '8':
cnt += 1
print(cnt)
'알고리즘 문제' 카테고리의 다른 글
[Python]2302번.극장좌석(DP) (1) | 2024.02.08 |
---|---|
[Python]1932번.정수 삼각형(DP) (0) | 2024.01.31 |
[Python]1080번.행렬(그리디) (0) | 2024.01.25 |
[Python]1149번.RGB거리(DP) (0) | 2024.01.19 |
[Python]1931번.회의실 배정(정렬,그리디) (0) | 2024.01.17 |