[못푼 문제] 백준 1978번, 1929번

장준서·2022년 4월 7일
0

알고리즘 문제

목록 보기
19/29

소수인 수 찾기 문제인데 그냥 노가다다. 처음부버 끝까지 다 탐색해야 한다.

def check(num):
    for i in range(2, num):
        if num != i and num % i == 0:
            return False
    return True

n = int(input())
array = list(map(int, input().split()))
count = 0
for num in array:
    if num != 1:
        if check(num): count += 1

print(count)

근데 이러면 시간 초과 문제에서 걸린다.
A~B 사이 모든 소수 출력 문제 같은 경우 아래와 같이 해야 시간 초과가 해결된다.

def isPrime(num):
    if num == 1:
        return False
    else:
        for i in range(2, int(num**0.5) + 1):
            if num % i == 0:
                return False
        return True
 
 
M, N = map(int, input().split())
 
for i in range(M, N + 1):
    if isPrime(i):
        print(i)
profile
let's get ready to rumble

0개의 댓글