문제풀이/BOJ

[Python] BOJ/백준 1526번 가장 큰 금민수

서채리 2021. 6. 30. 17:43

[문제]

https://www.acmicpc.net/problem/1526

 

1526번: 가장 큰 금민수

첫째 줄에 N이 주어진다. N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net



[풀이]

입력값보다 작거나 큰 금민수 중에서 가장 큰 수를 구해야 하기 때문에 입력값에서부터 -1씩 해주면서 검사한다.

입력수를 str로 변환해 '4'이거나 '7'이 아닌 경우 flag는 False가 되고 마지막 조건문에서 flag가 True일 경우에 n을 출력하게 된다. 

 


[코드]

if __name__ == '__main__':
    n = int(input())

    while True:
        flag = True
        for i in str(n):
            if i != '4' and i != '7':
                flag = False
                n -= 1
        if flag:
            print(n)
            break