썸네일 [백준] 6588: 골드바흐의 추측 최종 코드 최종 코드는 아래와 같다. 에라토스테네스의 체를 활용해야 하는 문제였다. MAX = 1000000 # MAX = 1000 ansIndex = [1] * (MAX + 1) # 전체 index를 1(소수) 로 설정 for i in range(3, int(MAX ** 0.5) + 1, 2): # i를 3부터 시작하여 MAX의 제곱근까지, 홀수로 증가시키는 루프를 설정 if ansIndex[i] == 1: # 현재 숫자 i가 소수인지 확인 for j in range(i * 2, MAX, i): ansIndex[j] = 0 while True: k = int(input()) if k == 0: break for i in range(3, int(k / 2) + 1, 2): # 소수 i의 배수를 찾기 위한..
썸네일 [백준] 1929번: 소수 구하기 또다시 소수 구하기 문제였다. 소수의 조건인 1과 자기 자신으로만 나누어진다를 명심하고 풀이에 임했다. 풀이는 다음과 같다 풀이 1. 1은 소수가 아니다 (코드에서 num
썸네일 [백준] 1978: 소수 찾기 소수를 구하는 문제였다. 풀이 def isPrime(data): cnt = 0 for i in data: for j in range(2, i + 1): if i % j == 0: if j == i: cnt += 1 break print(cnt) n = int(input()) data = list(map(int, input().split())) isPrime(data) 위에서 사용한 코드의 설명을 들어보겠다. 예를 들어 3이라면 (입력값 = 1 \n 3) i = 3 j = 2(에서 4까지 증가) 만약 i % j 가 나누어떨어진다면, i 와 j 가 같은지 비교, 같다면 카운트 증가(= 소수이다) 이므로 3일경우 3 % 3이 될 때 3 == 3이므로 카운트는 증가할 것이다. 트러블 슈팅 (해결) 처음에 데이터..
썸네일 [백준] 17427: 약수의 합 2 일단 문제 이해를 못했었다.. N이 2이 2일때 약수를 더했는데 어떻게 4가 나오지...? 이러고 있었다가 10에서 함수를 사용해 대입해보니, g(10) = f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) + f(8) + f(9) + f(10) g(10) = 1 + 3 + 4 + 7 + 6 + 12 + 8 + 15 + 13 + 18 g(10) = 87 이 도출되었다. 처음에 이렇게 했다가O(n^2) 이라 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 이 조건을 만족하지 못해서 a = int(input()) ans = 0 for i in range(1, a+1): for j in range(1, a+1): if i % j == 0: ans += j ..