본문 바로가기

> 알고리즘 문제 풀이/BOJ51

[Python] 1929-소수 구하기 출처: www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 결과 풀이 1번 (제곱근 활용) def isPrime(num): if num == 1 : return False root = int(num ** .5) for k in range(2, root+1): if num % k == 0: return False return True M, N = map(int, input().split()) for n in range(M, N+1): if isPrime(n): print(n) 풀이 2번 (에라토.. 2020. 11. 5.
[Python] 1120-문자열 A, B = input().split() diff = 50 for i in range(len(B)-len(A)+1): cnt = 0 for j in range(len(A)): if A[j] != B[j+i]: cnt += 1 if cnt < diff: diff = cnt print(diff) 2020. 11. 4.
*[Python] 12865-평범한 배낭 1. 개념 정의 - N: 물품의 수(1 ≤ N ≤ 100) - K: 버틸 수 있는 무게(1 ≤ K ≤ 100,000) - W: 물건의 무게(1 ≤ W ≤ 100,000) - V: 물건의 가치(0 ≤ V ≤ 1,000) 2. 문제 이해 - 준서는 여행을 떠나며 N개의 물건을 챙긴다. 각 물건은 (무게 W, 가치 V)를 가진다. 배낭에 넣은 물건의 V 만큼 준서는 즐길 수 있다. 다만 최대 K무게까지만 들고 다닐 수 있다. 이제 준서가 배낭에 넣을 수 있는 물건들의 가치의 최댓값을 구해야 한다. 3. 로직 짜기 1. 가치 V를 내림차순으로 정렬 후 K를 넘지 않게 해서 가방에 넣으면? - 최대 가치의 무게가 지나치케 클 경우 최적화 불가능 2. 무게당 가치(가치/무게)가 큰 순으로 내림차순 정렬 후 차례대로.. 2020. 10. 27.
[Python] 1026-보물 > 출처 : www.acmicpc.net/problem/1026 N = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) A.sort() B.sort(reverse=True) S = sum(map(lambda x: x[0]*x[1], zip(A,B))) print(S) 2020. 10. 27.