본문 바로가기

Algorithm Problems/투 포인터

(12)
[백준/C++] 9020번: 골드바흐의 추측 문제https://www.acmicpc.net/problem/9020문제 요약골드바흐의 추측이란 유명한 정수론의 미해결 문제이다. 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다.이러한 수를 골드바흐 수라고 한다.또, 짝수를 두 소수의 합으로 나타내는 표현을 골드바흐 파티션이라고 한다. 2보다 큰 짝수 n이 주어졌을 때, n의 골드바흐 파티션을 출력한다. + 만약 가능한 n의 골드바흐 파티션이 여러 가지인 경우, 두 소수의 차이가 가장 작은 것을 출력한다.코드#include #include using namespace std;int T;// arr[i]가 true라면, i는 소수bool arr[10010];vector v;void gold(int n) { int left = 0; ..
[백준/C++] 2018번: 수들의 합 5 문제 https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 문제 요약 자연수 n을 연속된 자연수들의 합으로 나타내는 가지수를 출력한다. 이 때, 사용하는 자연수는 n이하이다. ex) 15를 나타내는 방법 15 = 7 + 8 = 4 + 5 + 6 = 1 + 2 + 3 + 4 + 5 코드 #include using namespace std; int n; int main() { cin >> n; int left = 0; int rig..
[백준/C++] 15565번: 귀여운 라이언 문제 https://www.acmicpc.net/problem/15565 15565번: 귀여운 라이언 꿀귀 라이언 인형과, 마찬가지로 꿀귀인 어피치 인형이 N개 일렬로 놓여 있다. 라이언 인형은 1, 어피치 인형은 2로 표현하자. 라이언 인형이 K개 이상 있는 가장 작은 연속된 인형들의 집합의 www.acmicpc.net 문제 요약 1과 2로 이루어진 n개의 수열이 주어질 때, 1을 k개 갖는 가장 작은 부분 수열의 길이를 출력한다. 코드 #include #include #define MAX_N 10000 #define INF 1000000000 using namespace std; int n, k; int res = INF; vector lions; // 라이언 인형들의 인덱스 정보 저장 int mai..
[백준/C++] 7453번: 합이 0인 네 정수 문제 https://www.acmicpc.net/problem/7453 7453번: 합이 0인 네 정수 첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D에 포함되는 정수가 공백으로 구분되어져서 주어진다. 배열에 들어있는 정수의 절댓값은 최대 228이다. www.acmicpc.net 문제 요약 정수로 이루어진 크기가 같은 배열 A, B, C, D가 있을 때, A[a], B[b], C[c], D[d]의 합이 0이 되는 쌍의 개수를 출력한다. + 각 배열의 크기 n은 1이상 4000이하이다. 코드 #include #include #include #define MAX_N 4000 using namespace std; int n; int arr[4][MAX_N..
[백준/Python] 2470번: 두 용액 문제 https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 문제 요약 N개의 용액 특성 값들을 입력 받고, 이 중 두 개의 서로 다른 용액을 혼합하여 특성값이 0에 가장 가까운 용액을 만들어내는 두 용액을 출력한다. 용액의 특성값의 범위는 -1000000000 ~ 1000000000이다. 코드 n = int(input()) arr = sorted(list(map(int, input().split()))) left =..
[백준/Python] 1644번: 소수의 연속합 문제https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000)www.acmicpc.net문제 요약자연수 N이 주어졌을 때, 연속된 소수의 합으로 나타낼 수 있는 경우의 수를 출력한다. ex) 3 = 3 => 한 가지 41 = 2 + 3 + 5 + 7 + 11 + 13 = 11 + 13 + 17 = 41 => 세 가지코드import math n = int(input()) # 체 알고리즘을 이용하여 소수로 구성된 리스트 구하기 pri_arr = [True for _ in range(n + 1)] # n 까지 소수인지 아닌지를 판별하는 리스트 (초기: 소수 = True) for i in range(2, int..