[Bronze I] 가장 큰 금민수 - 1526
성능 요약
메모리: 110576 KB, 시간: 276 ms
분류
수학, 구현, 브루트포스 알고리즘
제출 일자
2026년 04월 25일 22:04:59
문제 설명
은민이는 4와 7을 좋아하고, 나머지 숫자는 싫어한다. 금민수는 어떤 수가 4와 7로만 이루어진 수를 말한다.
N이 주어졌을 때, N보다 작거나 같은 금민수 중 가장 큰 것을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 N보다 작거나 같은 금민수 중 가장 큰 것을 출력한다.
💡 해결 방법
💻 코드
# https://www.acmicpc.net/problem/1526
n = int(input())
while True:
tn = set((' '.join(str(n))).split())
# print(tn, set(['4','7']))
if tn == set(['4','7']) or tn == set(['7']) or tn == set(['4']):
print(n)
break
else:
n -= 1
if n < 0:
break