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 |
Tags
- 후기
- Ubuntu 20.04
- 백준 #baekjoon # 2563
- 부스트캠프
- 웹/모바일
- Virtual Box 7.0.6
- 8기
- id # tr # 환경변수
- 운영체제론
- 네이버
- 보기 편하라고 만든
- 네이버 부스트 코스
Archives
- Today
- Total
Miner
[Baekjoon] 1929 번 본문
import sys
a, b = list(map(int, sys.stdin.readline().split()))
arr = [ i for i in range(a, b+1)]
i = a
while i <= b+1:
if i != 1:
for j in range(2, i):
if i % j == 0:
arr.remove(i)
break
i += 1
for i in arr:
print(i)
6번의 시간초과 (기준 2초)
>> 에라토스테네스의 체
https://freedeveloper.tistory.com/392
소수인지 검사할때 2부터 i까지 검사하는 것이 아니라 2부터 i의 제곱근까지만 검사하면 나머지는 검사하나 마나여서 제곱근까지만 검사하면 되는 것이었다.
# TRY 1
import sys
a, b = list(map(int, sys.stdin.readline().split()))
def ccal(n):
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
for i in range(a, b+1):
if i != 1:
if ccal(i):
print(i)
3, 16 을 넣었을 때
답 5 7 9 11 13 15 나옴
※ 리턴의 위치 수정
# TRY 1-1
import sys
a, b = list(map(int, sys.stdin.readline().split()))
def ccal(n):
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
for i in range(a, b+1):
if i != 1:
if ccal(i):
print(i)
3 16 넣었을 때
3 5 7 11 13 나옴
# TRY 2
import sys
a, b = list(map(int, sys.stdin.readline().split()))
def ccal(n):
if n == 1:
return False
else:
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
for i in range(a, b+1):
if ccal(i):
print(i)
3 16 넣었을 때
3 5 7 11 13 나옴
'Python' 카테고리의 다른 글
[Baekjoon] 10951 (0) | 2023.01.30 |
---|---|
[Baekjoon 1652] 런타임 에러 (네임에러) 문제 (0) | 2023.01.26 |
리스트 내장함수 (0) | 2023.01.24 |
[Baekjoon] 1051번 (0) | 2023.01.19 |
[Baekjoon] 2563번 오류(?) (0) | 2023.01.19 |