전체 글 244

백준 9020: 골드바흐의 추측 (Python)

https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 처음 코드 - 또 시간 초과,,,,,,,, 숫자를 처음부터 넣어서 차이값을 비교했었다 num = [] for i in range(2, 10000): cnt = 0 for p in range(2, int(i**0.5)+1): if i % p == 0: cnt += 1 break if cnt == 0: num.append(i) t = int(input()) for i in rang..

알고리즘/백준 2021.09.01

백준 4948: 베르트랑 공준 (Python)

https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 1929번 문제에서 범위 제한만 하면 되네~하고 풀었지만 시간 초과😤💧 while True: n = int(input()) cnt = 0 if n == 0: break for i in range(n+1, 2*n+1): for p in range(2, int((2*n)**0.5)+1): if i % p == 0: cnt += 1 break print(n-cnt) 각 테스트 케이스마다 계속 소..

알고리즘/백준 2021.09.01

백준 1929: 소수 구하기 (Python)

https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 처음 코드 - 시간 초과 m, n = map(int, input().split()) for i in range(m,n+1): k = 2 cnt = 0 if i == 1: cnt += 1 while i > k: if i % k == 0: cnt += 1 break k += 1 if cnt == 0: print(i) 문제 설명에 에라토스테네스의 체라고 적혀있는걸 발견...! 그래서 바로 검색해보고 다시 알고리즘을 생각했다 m, n ..

알고리즘/백준 2021.08.31

백준 2581: 소수 (Python)

https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net m = int(input()) n = int(input()) res = [] cnt = 0 for i in range(m,n+1): cnt = 0 k = 2 if i == 1: cnt += 1 while i > k: if i % k == 0: cnt += 1 break k += 1 if cnt == 0: res.append(i) if res: print(sum(res)) print(min(res)) else..

알고리즘/백준 2021.08.31

백준 1978: 소수 찾기 (Python)

https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net n = int(input()) num = list(map(int,input().split())) cnt = 0 # 소수가 아닌 수의 개수 for i in num: k = 2 if i == 1: cnt += 1 while i > k: if i % k == 0: cnt += 1 break k += 1 print(n-cnt) cnt : 소수가 아닌 수의 개수

알고리즘/백준 2021.08.31

백준 1011: Fly me to the Alpha Centauri (Python)

https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net t = int(input()) for i in range(t): x, y = map(int, input().split()) d = y - x n = 0 while True: if n * (n + 1) >= d: break n += 1 if n**2 < d: print(n * 2) else: print(n * 2 - 1)

알고리즘/백준 2021.08.31

백준 2839: 설탕 배달 (Python)

https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net n = int(input()) res = 0 k = n cnt = 0 while res == 0: if k % 5 == 0: res = k // 5 + cnt else: k -= 3 cnt += 1 if k == 0: res = n // 3 if k < 0: res = -1 print(res) n = int(input()) res = 0 while True: if n % 5 == 0: res += n // ..

알고리즘/백준 2021.08.30

백준 2884: 부녀회장이 될테야 (Python)

https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 실패 흔적이 매우 많음,, 처음엔 당연히 재귀로 풀어야지라고 생각했다 재귀 어려워해서 재귀로 푸는 알고리즘 생각하는 것도 엄청 오래 걸림 ㅜㅜ def res(k, n): result = 0 for i in range(n): if k == 1: result += n * (n + 1) // 2 break result += res(k-1,i+1) return result t = int(input()) for i in range(t): k = ..

알고리즘/백준 2021.08.30

백준 10250: ACM 호텔 (Python)

https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net t = int(input()) for i in range(t): h, w, n = map(int,input().split()) if n%h==0 : a = h b = n // h else : a = n % h b = n // h + 1 print(a*100+b) ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ이거 하는데 이렇게 많은 실패가..... 짜증난다...

알고리즘/백준 2021.08.27