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 | 31 |
Tags
- recommendation system
- TF-IDF
- 백준
- 코딩테스트
- 협업 필터링
- 부스트캠프
- 추천 시스템
- 알고리즘
- codingtest
- wordcloud
- 코테
- Tensor
- selenium
- 시각화
- 웹크롤링
- pytorch
- 프로그래머스
- Cosine-similarity
- coursera
- SGD
- Overfitting
- Python
- 추천시스템
- 웹스크래핑
- 데이터 엔지니어링
- 머신러닝
- 분산 시스템
- 파이썬
- 데이터
- 딥러닝
Archives
- Today
- Total
개발자식
[백준] 4948, 15649_python 본문
베르트랑 공준
4948번: 베르트랑 공준
베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼
www.acmicpc.net
- 코드
import math
arr = []
while True:
n = int(input())
if n==0:
break
arr.append(n)
# 입력 받은 값 중 가장 큰 값까지 에라토스테네스의 채로 소수 확인
arr_max = max(arr)
temp = [0] * ((2*arr_max)+1)
for i in range(2, int(math.sqrt(2*arr_max))+1):
k = 2
while k * i <=2*arr_max:
temp[k*i] = 1
k+=1
for i in range(len(arr)):
count = 0
# 입력 받은 값마다 n+1 ~ 2n 범위에서 소수 개수 찾기
for j in range(arr[i]+1,2*arr[i]+1):
if temp[j] == 0:
count+=1
print(count)
- 풀이를 생각해낸 과정
- 입력 받은 값 중 가장 큰 값을 기준으로 소수를 찾고, 입력 받은 값마다 입력 받은 값마다 n+1 ~ 2n 범위에서 소수 개수를 찾는다.
- 시간복잡도 계산
- O(N2)
N과 M(1)
15649번: N과 M (1)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
- 코드
from itertools import permutations
n,m = map(int,input().split())
temp = []
for i in permutations(range(1,n+1),m):
temp = list(i)
print(' '.join(str(s) for s in temp))
- 풀이를 생각해낸 과정
- 파이썬 itertools 모듈의 permutations 함수를 활용하여 중복을 허용하지 않고 n개에서 m개를 뽑는다.
- 출력 포맷을 맞추기 위해 숫자를 문자열로 바꾼뒤, join으로 출력한다.
- 시간복잡도 계산
- O(N!)
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 자료구조_17103, 17087, 10828, 9012, 10773, 1935, 1406, 10799 (0) | 2022.09.01 |
---|---|
[백준] 수학_15650, 1037, 2981, 1789, 2407, 15663, 15657, 2824 (0) | 2022.09.01 |
[백준] 수학_4948, 15649, 2609, 9020, 11653, 6588, 1182, 6603 (0) | 2022.09.01 |
[백준] 수학_8393, 1929, 1978, 2748 (0) | 2022.09.01 |
[백준] 1929 소수 구하기 (0) | 2022.07.14 |
Comments