Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- TiL
- jwttoken
- 전략패턴 #StrategyPattern #디자인패턴
- 디자인패턴
- 구글 OAuth login
- 99클럽
- Python
- 빈 조회 2개 이상
- 1주일회고
- @FeignClient
- DesignPattern
- 프로그래머스 이중우선순위큐
- 빈 충돌
- 인프콘 2024
- 디자인 패턴
- 파이썬
- 개발자 취업
- infcon 2024
- 항해99
- KPT회고
- JavaScript
- spring batch 5.0
- 단기개발자코스
- 개발자부트캠프추천
- 취업리부트코스
- 커스텀 헤더
- jwt
- Spring multimodule
- 프로그래머스
- 코딩테스트 준비
Archives
- Today
- Total
m1ndy5's coding blog
[수학] 백준 6588번 골드바흐의 추측 with 파이썬 본문
https://www.acmicpc.net/problem/6588
시간초과가 아주 밥먹듯이 난 문제였다.
이거해도 시간초과 저거해도 시간초과~
import sys
input = sys.stdin.readline
prime = [True for _ in range(1000001)]
for i in range(2,1001):
if prime[i]:
for j in range(2*i, 1000001, i) :
if prime[j] :
prime[j] = False
while(True):
n = int(input())
if n==0 : break
for i in range(3,1000001,2):
if prime[i] and prime[n-i]:
print("%d = %d + %d"%(n , i , n-i))
break
첫번째로 소수를 구하는 부분을 내가 원래 쓰던 코드가 아닌 조건문에 걸릴 때만 돌아갈 수 있게 조금 덜 돌아가는 코드로 바꾸었다.
두번째로는 어짜피 짝수는(2제외) 소수가 아니므로 1씩 올리지 않고 2씩 올려주었더니 시간초과가 해결되었다.
레퍼런스를 많이 참고한 문제였다.
'알고리즘 with python > 수학' 카테고리의 다른 글
[수학] 백준 6603번 로또 with Python (0) | 2023.03.12 |
---|---|
[수학] 백준 1182번 부분수열의 합 with python (0) | 2023.03.12 |
[수학] 백준 9020번 골드바흐의 추측 with python (0) | 2023.03.07 |
[수학] 백준 2609번 최대공약수와 최소공배수 with python (유클리드 호제법) (0) | 2023.03.01 |
[수학] 백준 15649번 N과 M(1) with python (0) | 2023.03.01 |