본문 바로가기
공부/데이터사이언스

[백준] 8단계 - 1929번 (파이썬) check!

by PYo 2022. 6. 28.
반응형

1929번

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

 

 

 

이번에도 계속 '시간초과'가 떴다...

소수 문제 정말 너무 싫다...

(그래도 다행인 건 아래의 블로그에서 힌트만 얻어서 문제를 해결했다는 점.ㅎㅎ)

 

 

1929번은 

소수 여부를 판단할 때 제곱근까지만 살펴봄으로써

더 빠르게 소수를 찾으라는 의도의 문제였다.

근데 이 방식...지난번에 소인수분해 문제 풀 때 시도했다가 포기했었다ㅋㅋㅋ

내가 잘못 접근한 건가 했는데 다행히 그건 아니였나 보다.ㅋㅋㅋ

 

 

참고: https://deokkk9.tistory.com/17

 

[python 파이썬] 백준 1929번: 소수 구하기

https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) www.acmicpc.net 처음 코드: M, N = map(int, input().split()..

deokkk9.tistory.com

 

 

 

 

근데 '시간초과'문제를 해결한 후에도 정답이 나오지 않았다ㅠㅠ

그 이유는...

1을 간과해서 였다.

M이 1 이상인 수이고, 1은 소수가 아닌데 바보같이 그걸 빼먹고 코딩했다.

증말 가지가지 한다...ㅠㅠㅠ

 

 

 

최종정답코드 (그닥 아름다운 코드는 아님. 위에서 참고한 블로그 코드가 더 아름다운 듯...)

x,y = list(map(int, input().split()))
while x<=y :
    if x==1:
        x+=1
    temp = x
    for j in range(2, int(x**(1/2))+1):
        if (x%j == 0):
            temp = x+1
            break  
    if (temp==x):
        print(x)
    x+=1

 

 

 

 

반응형

댓글