본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 1][Python] 1526번 : 가장 큰 금민수

by 빛밤하늘 2021. 6. 1.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

1526번: 가장 큰 금민수

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

www.acmicpc.net

 

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# readline을 사용하기 위해 import합니다.
from sys import stdin

# 첫째 줄에 N을 입력합니다.
# 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수입니다.
# 정수형으로 변환합니다.
N = int(stdin.readline())

# 계속 반복합니다.
while True:
    # N의 길이가 N에서 4의 개수와 7의 개수의 합과 같다면
    if len(str(N)) == str(N).count('4') + str(N).count('7'):
        # N을 출력합니다.
        print(N)
        # 반복문을 탈출합니다.
        break

    # N에 1을 빼줍니다.
    N -= 1

결과

 

맞았습니다 결과를 보고 나서 다른 사람들의 파이썬 결과를 보니 제 코드의 420ms 보다 

엄청 나게 빠른 100ms 미만의 코드들도 있었습니다.

저는 이 코드말고 다른 아이디어는 안 떠올랐는데 빠른 실행 시간의 코드들을 보고 공부해봐야겠습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글