프로그래밍/백준

[알고리즘] 백준 4375 파이썬 - 1

매 석 2022. 10. 20. 22:03
반응형

4375번: 1

2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오.

www.acmicpc.net

문제

2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오.

문제풀이

while True:
    try:
        n = int(input())
    except:
        break
    x="1"
    while True:
        X = int(x)
        if(X%n==0):
            print(len(x))
            break
        else:
            x +="1"

 

- 입력횟수가 정해지지 않았기에 while문을 사용하여 값이 멈출 때까지 입력 받는다.
이후 1로만 이루어진 값을 입력받은 값으로 나누었을 때 나누어 떨어지면 값을 출력하고
그렇지 않으면 1로만 이루어진 값을 점점 큰 숫자로 늘려간다.

+ 알고리즘 문제는 시간 제한이 있기에 단순히 brute force 형태로 코드를 짜면 "시간 초과"가 된다.
그렇기에 수학 문제는 수학을 이용하여 계산 횟수를 현저히 줄여, 시간 제한을 통과하여 풀어야 한다.
시간 복잡도라는 개념을 이해하고 코드를 짜야하는 것이다.