본문 바로가기

👩🏻‍💻 Front-end/👾 Algorithm53

백준 2581 - 소수 (Python) 문제 자연수 M, N이 주어질 때 M 이상 N 이하의 자연수 중 소수의 합과 최솟값을 구하라. 코드 m = int(input()) n = int(input()) sum = 0 prime_numbers = [] for num in range(m, n+1): if num == 2: sum += num prime_numbers.append(num) else: for i in range(2, num): if num % i == 0: break if i == num-1: sum += num prime_numbers.append(num) if(prime_numbers): print(sum) print(min(prime_numbers)) else: print(-1) 풀이 1) M부터 N까지 자연수를 반복한다. 2) .. 2022. 5. 9.
백준 1978 - 소수 찾기 (Python) 문제 주어진 N개의 수 중 소수의 수 출력하기 N 2022. 5. 9.
백준 2839 - 설탕 배달 (Python) 문제 n kg설탕을 3kg/5kg 봉지에 각각 나눠 담는다. 이때 봉지의 개수가 최소가 되는 경우를 구해야 한다. 설탕이 정확히 나누어떨어지지 않는다면 -1을 출력한다. 코드 n = int(input()) # a: 3kg 봉지 개수 # b: 5kg 봉지 개수 b = n//5 a = n-b*5 while (True): if b == 0 or a % 3 == 0: break b -= 1 a = n-b*5 a = a//3 if a*3+b*5 == n: print(a+b) else: print(-1) 풀이 3kg 봉지보다 5kg봉지에 많이 담아야 당연히 봉지의 수가 더 적을 것이다. 그래서 설탕 총 무게를 5kg로 나누었을 때 몫을 구하고, 그 나머지가 3kg로 나누어떨어지는 경우를 구한다. 나누어떨어지지 않는.. 2022. 5. 8.
백준 2775 - 부녀회장이 될테야 (Python) 코드 t = int(input()) for _ in range(t): floor = int(input()) # 층수 num = int(input()) # 호수 floor_0 = [x for x in range(1, num+1)] # 0층 for k in range(floor): for i in range(1, num): floor_0[i] += floor_0[i-1] print(floor_0) print(floor_0[-1])​ 풀이 3층 1 5 15 35 70 2층 1 4 10 20 35 1층 1 3 6 10 15 0층 1 2 3 4 5 아파트의 층/호수별 거주민 수는 위 표와 같다. k층 n호에 사는 거주민의 수는 k-1층의 1,2,3,...,n호에 사는 거주민의 총 합과 같다. 주어진 정보는 0층에.. 2022. 5. 8.