📝 문제
💡 은민이는 4와 7을 좋아하고, 나머지 숫자는 싫어한다.
금민수는 어떤 수가 4와 7로만 이루어진 수를 말한다.
N이 주어졌을 때, N보다 작거나 같은 금민수 중 가장 큰 것을 출력하는 프로그램을 작성하시오.
⚙️ 입력 : 첫째 줄에 N이 주어진다.
N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다.
⚙️ 출력 : 첫째 줄에 N보다 작거나 같은 금민수 중 가장 큰 것을 출력한다.
1526번: 가장 큰 금민수
첫째 줄에 N이 주어진다. N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
✅ 풀이
n = int(input())
for i in range(n,3,-1):
if all([(s == '4' or s == '7') for s in str(i)]):
print(i)
break
💡 모든 조건을 만족해야 True를 반환하는 all()을 이용했다.
주어진 수부터 4까지 쭉 내려가며 4와 7 존재 여부를 확인했고,
만약 수에 속한 숫자가 4와 7뿐이라면 수를 출력하고 멈추도록 했다.