백준
-
문제 링크 : www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 소수와 관련된 문제는 왠만하면 전부 에라토스테네스를 사용하는게 편한것 같다. 일단, 테스트케이스에서 주어진 범위만큼 에라토스테네스의 체를 사용하여 소수를 구해놓는다. 그리고 문제의 조건에 맞 게 출력해주면 끝. infinitt.tistory.com/232 알고리즘 (1) - 수학 : 유클리드 호제법 , 에라토스테네스의 체 (나머지 연산, 최대 공약수, 최소�� 수학과 관련한 기초문제에는 크게 3가지 분류로 ..
백준 (boj) 파이썬 - 2581번 : 소수문제 링크 : www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 소수와 관련된 문제는 왠만하면 전부 에라토스테네스를 사용하는게 편한것 같다. 일단, 테스트케이스에서 주어진 범위만큼 에라토스테네스의 체를 사용하여 소수를 구해놓는다. 그리고 문제의 조건에 맞 게 출력해주면 끝. infinitt.tistory.com/232 알고리즘 (1) - 수학 : 유클리드 호제법 , 에라토스테네스의 체 (나머지 연산, 최대 공약수, 최소�� 수학과 관련한 기초문제에는 크게 3가지 분류로 ..
2020.09.18 -
문제 링크 : https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안�� www.acmicpc.net 두개의 리스트가 주어진다. 첫번째 리스트가 탐색할 대상이고, 두번째 리스트의 각 요소가 target 이다. 이를 for문을 통해 각각 이분탐색으로 문제를 해결했다. 이진탐색 , 이분탐색 https://infinitt.tistory.com/286 알고리즘 ) 이진 탐색, 이분 탐색 (Binary serach) _ python 재귀 * 이진 ..
백준 (boj) 파이썬 - 1920번 : 수 찾기문제 링크 : https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안�� www.acmicpc.net 두개의 리스트가 주어진다. 첫번째 리스트가 탐색할 대상이고, 두번째 리스트의 각 요소가 target 이다. 이를 for문을 통해 각각 이분탐색으로 문제를 해결했다. 이진탐색 , 이분탐색 https://infinitt.tistory.com/286 알고리즘 ) 이진 탐색, 이분 탐색 (Binary serach) _ python 재귀 * 이진 ..
2020.08.09 -
문제링크 :https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net itertools의 combination을 사용하여 풀었다. (자동으로 n개중에 r개를 뽑는 조합(combination)을 반환해주는... ) https://infinitt.tistory.com/114 순열과 조합 ( n! , nPr , nCr ) - (itertools) combinations, permutations + 중복순열, 중복조합 *n! ..
백준 (boj) 파이썬 - 1182 번 : 부분수열의 합문제링크 :https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net itertools의 combination을 사용하여 풀었다. (자동으로 n개중에 r개를 뽑는 조합(combination)을 반환해주는... ) https://infinitt.tistory.com/114 순열과 조합 ( n! , nPr , nCr ) - (itertools) combinations, permutations + 중복순열, 중복조합 *n! ..
2020.05.12 -
문제 링크 : https://www.acmicpc.net/problem/18511 18511번: 큰 수 구성하기 첫째 줄에 N, K의 원소의 개수가 공백을 기준으로 구분되어 자연수로 주어진다. (10 ≤ N ≤ 100,000,000, 1 ≤ K의 원소의 개수 ≤ 3) 둘째 줄에 K의 원소들이 공백을 기준으로 구분되어 주어진다. 각 원소는 1부터 9까지의 자연수다. 단, 항상 K의 원소로만 구성된 N보다 작거나 같은 자연수를 만들 수 있는 경우만 입력으로 주어진다. www.acmicpc.net * 생각 최대 8자리수에 3가지 요소가 들어갈 수 있다. - 순열이지만 중복이 허용된다. 따라서 itertools-product를 사용했다. 주의할점 : 만약 N = 1938이고 배열은 {8,9,7}이라고 하면 출력..
백준 (boj) Python - 18511 번 : 큰 수 구성하기문제 링크 : https://www.acmicpc.net/problem/18511 18511번: 큰 수 구성하기 첫째 줄에 N, K의 원소의 개수가 공백을 기준으로 구분되어 자연수로 주어진다. (10 ≤ N ≤ 100,000,000, 1 ≤ K의 원소의 개수 ≤ 3) 둘째 줄에 K의 원소들이 공백을 기준으로 구분되어 주어진다. 각 원소는 1부터 9까지의 자연수다. 단, 항상 K의 원소로만 구성된 N보다 작거나 같은 자연수를 만들 수 있는 경우만 입력으로 주어진다. www.acmicpc.net * 생각 최대 8자리수에 3가지 요소가 들어갈 수 있다. - 순열이지만 중복이 허용된다. 따라서 itertools-product를 사용했다. 주의할점 : 만약 N = 1938이고 배열은 {8,9,7}이라고 하면 출력..
2020.05.09 -
문제링크 : https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 예전에 풀었던 요세푸스와 같은내용이었다. 다른점은 시간제한뿐..? 분명 풀었던 문제인데 처음 풀듯이 다시풀게되었다........... 기억력 참 https://infinitt.tistory.com/213 백준 (boj) 파이썬 - 1158 요세푸스 문제 문제 링크 : https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acm..
백준(boj) 파이썬 - 11866 번 : 요세푸스 문제 0문제링크 : https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 예전에 풀었던 요세푸스와 같은내용이었다. 다른점은 시간제한뿐..? 분명 풀었던 문제인데 처음 풀듯이 다시풀게되었다........... 기억력 참 https://infinitt.tistory.com/213 백준 (boj) 파이썬 - 1158 요세푸스 문제 문제 링크 : https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acm..
2020.05.03 -
문제 링크 : https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 문제 분류 : 다이나믹 프로그래밍 https://infinitt.tistory.com/246 알고리즘 - 다이나믹 프로그래밍 (Dynamic Programming) 다이나믹 프로그래밍 (Dynamic Programming) : DP 개념 : 문제를 더 작은 단위로 쪼개어 해결하는 알고리즘. (분할 정복 알고리즘과 비슷하다. 차이점은 바로 아랫줄.) 핵심은, 그 작은 단위의 문제들이 반복..
백준 (boj) 파이썬 - 16194번 : 카드 구매하기 2 (DP)문제 링크 : https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 문제 분류 : 다이나믹 프로그래밍 https://infinitt.tistory.com/246 알고리즘 - 다이나믹 프로그래밍 (Dynamic Programming) 다이나믹 프로그래밍 (Dynamic Programming) : DP 개념 : 문제를 더 작은 단위로 쪼개어 해결하는 알고리즘. (분할 정복 알고리즘과 비슷하다. 차이점은 바로 아랫줄.) 핵심은, 그 작은 단위의 문제들이 반복..
2020.04.24