전체 글 1851

[백준] #4948 베르트랑 공준 python

https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 📕 설명 📕 해당 문제를 풀이하기 위하여 "에라토스테네스의 체" 방법을사용하였다. 에라토스테네스의 체 위 방법은 A ~ B 사이 값 중의 소수를 얻고자 할 때 사용한다. 1. 2 ~ N 사이의 값을 담은 배열을 생성한다. 2. 배열 내 i 부터 시작하여, i의 배수들을 배열에서 지운다. 3. i의 배수들을 모두 지우면, i 다음으로 작은 배수들을 배열에서 지워준다. 4. 2, 3번을 반복할..

[베이즈 통계학] 2022.12.26.

오늘 다룬 내용은 “몬티 홀 문제”이다. 모두가 잘 알고 있듯이 이 문제에 대한 해답이 매우 여러 가지로 갈린다. 확률이 나 제외한 대상으로 바뀌는 것인지 아니면 전체를 대상으로 봐야하는지가 주된 주제이다. 본 문제에 대하여 베이즈 추정을 다음와 같은 철학적 해석이 나올 수 있다. “사회자나 간수가 질문자에 관련된 정보를 주지 않았으므로 질문자에 대한 사후확률은 바뀌지 않는다.” 그러나 아직까지 진실인지 아닌지에 대한 판단은 어려운 것임이 틀림 없다. 그리고 또 추가적인 정보로 얻을 수 있는 것은, A 커튼에 자동차가 있다면 사회자는 망설이지 않고 B, C 중 하나를 선택하겠지만 만일 C 커튼에 자동차가 있다면 사회자는 망설인 후 B 커튼을 선택해야한다. 따라서 그 망설임의 포인트로 추가 정보를 얻지 않..

Reading 2022.12.26

[Git] git log 삭제

git commit -m "message"로 아래와 같이 git log에 commit을 추가하는 경우가 있다. 그러나 이 경우, 잘못해서 commit 메세지를 작성하는 경우 대처 방법에 대해 알아보았다. 먼저, 아래의 명령어로 최신 명령어 1개를 reset시키는 것이다. git reset HEAD~1 여기서, 2개까지 없애려면 git reset HEAD~2 와 같이 작성해주면 된다. 이후, git push -f origin (branch name) 와 같이 작성하면 된다. branch가 master인 경우 아무것도 쓰지 않는다. 그러나 main인 경우 main을 기입한다. 그리고, 아래 과정을 밟는다. git add . git commit -m "revised message" 그리고, git log 명령..

Programming/Git 2022.12.25

[백준] #1929 소수 구하기 Python

https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 📕 설명 📕 해당 문제를 풀이하기 위하여 "에라토스테네스의 체" 방법을사용하였다. 에라토스테네스의 체 위 방법은 A ~ B 사이 값 중의 소수를 얻고자 할 때 사용한다. 1. 2 ~ N 사이의 값을 담은 배열을 생성한다. 2. 배열 내 i 부터 시작하여, i의 배수들을 배열에서 지운다. 3. i의 배수들을 모두 지우면, i 다음으로 작은 배수들을 배열에서 지워준다. 4. 2, 3번을 반복할 수 있을 때까지 반복한다. 🧑🏻‍💻 나..

[백준] #11653 소인수분해 python

https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 먼저, 해당 수가 1. 소수인지 체크한다. 2. 반복문을 통해 나눠지는 수를 반복하여 약수로 추가한다. N = int(input()) result = [] nTrue = True if N == 1: nTrue = False for j in range(2, N): if N % j == 0: nTrue = False if nTrue: print(N) else: for i in range(2,N+1): if N % i == 0: while N % i == 0: N = N // i result.append(i) for i ..

[백준] #2581 소수 python

https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 좀 더 깔끔하게 풀이할 순 없었을까.. A = int(input()) B = int(input()) num_list = [i for i in range(A, B+1)] result = [] for i in num_list: if i == 1: continue if i == 2: result.append(2) continue if i == 3: result.append(3) continue nTrue = Tr..

[백준] #1978 소수 찾기 python

https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 소수는 1과 자기자신만을 약수로 가지는 성질을 이용한다. input() num_list = list(map(int ,input().split())) cnt = 0 for i in num_list: if i == 1: continue if i == 2 or i == 3: cnt += 1 continue nTrue = True for j in range(2,i): if i % j == 0: nTrue = False if nTrue: cnt += 1 print(cnt)

[백준] #2775 부녀회장이 될 테야 python

https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 여러 layer들을 저장한 상태로 진행 ! T = int(input()) for i in range(T): K = int(input()) N = int(input()) tmp_0_li = [i for i in range(1, N+1)] tmp_li = [[] for _ in range(K+1)] tmp_val = [] tmp_li[0].extend(tmp_0_li) for j in range(1,K+1): for k in range(1,..

[백준] #2839 설탕 배달 python

https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 자연수의 분할로 생각하면 문제 풀이가 쉽다. N = int(input()) num_5 = N // 5 num_3 = N // 3 cnt_max = -1 for i in range(num_5+1): for j in range(num_3+1): if i*5 + j*3 == N: cnt_max = i + j print(cnt_max)

[TIL] 2022.12.25. [겨울방학 기록]

2022년 12월 25일 일요일 12/25 2022 🌎크리스마스🌎 🏃 TIL 🏃 🌎 오늘은 이야기 ! 오늘 하루 한 단어 요약, 키워드 🌈 메리 크리스마스 ! 🌈 🧑🏻‍💻 오늘의 코딩 🧑🏻‍💻 🧑🏻‍💻 백준 문제 풀이 조금 더 많은 문제를 풀고 싶다. 그러나, 문제를 풀다 보면 시간이 한참 지나가 있다 ㅜ.ㅜ 📖 오늘의 독서 📖 [베이즈 통계학] 오늘도 행복한 하루 !