728x90
문제
은민이는 4와 7을 좋아하고, 나머지 숫자는 싫어한다. 금민수는 어떤 수가 4와 7로만 이루어진 수를 말한다.
N이 주어졌을 때, N보다 작거나 같은 금민수 중 가장 큰 것을 출력하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/1526
입력
첫째 줄에 N이 주어진다.
N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 N보다 작거나 같은 금민수 중 가장 큰 것을 출력한다.
예제
# input
100
# output
77
# input
75
# output
74
# input
5
# output
4
문제 풀이
# 입력 받기
N = int(input())
# 역순으로 조회하여 가장 큰 수 찾기
for num in range(N,3,-1):
# num의 각 자릿수가 4 또는 7로만 구성될 경우에 break
if all(digit in {'4', '7'} for digit in str(num)):
print(num)
break
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90