# 투포인터

[Baekjoon] #1253. 좋다
N개의 수 중에서 어떤 수가 다른 수 두 개의 합으로 나타낼 수 있다면 그 수를 “좋다(GOOD)”고 한다. N개의 수가 주어지면 그 중에서 좋은 수의 개수는 몇 개인지 출력하라. 수의 위치가 다르면 값이 같아도 다른 수이다.
[오늘의 알고리즘] 1/13 백준 1544, 1208, 2143
2003 수들의 합 2 문제에서 입력 배열을 소수 수열로 바꾸면 된다.1부터 N까지 탐색하면서 소수인지 확인한다.소수이면큐에 넣기sum에 더하기sum이 M보다 크면 작거나 같아질 때까지 q에서 꺼내고 그만큼 sum에서 빼기sum이 M과 같아지면 cnt 증가시키기수열을
[백준] 1253번 : 좋다 (JAVA)
백준 1253번 문제 링크나의 첫번째 풀이 (오답)좋다 라는 문제는 좋은 수를 찾는 문제이다.좋은 수란 주어진 수들 중 서로 다른 두 개의 수를 더하여 한 숫자가 되면, 그 한 숫자를 좋은 수라고 한다.이 문제를 풀기 전, 투 포인터라는 알고리즘 개념을 배우고 적용을

[BaekJoon] 2473 세 용액 (Java)
https://www.acmicpc.net/problem/2473많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있는데, 각 용액에는 그 용액의 특성을 나타내는 하나의 정수가 주어져있습니다.산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수

[java] 1484 다이어트
https://www.acmicpc.net/problem/1484현재몸무게 = x , 기억몸무게 = y 라고 가정했을 때 주어지는 G는G = x^2 - y^2 이므로, x 와 y 값을 바꿔가며 해당 식이 성립할 때의 값을 찾는다.만약 x^2 - y^2 >= G

[ 백준 / Python3 ][골드4] 1806 - 부분합
https://www.acmicpc.net/problem/1806누적합을 이용해 부분합을 구한다.부분합은 두 개의 인덱스를 골라 누적합인덱스의 차이로 구하게 된다.이중 반복문을 사용해서 누적합 배열을 탐색하면 시간복잡도가 높아지기 때문에 투포인터를 사용한다.s
[백준 / 골드1] 1114 통나무 자르기 (Java)
문제 보기 사용한 것 가장 긴 통나무의 길이를 최소로 자르는 경우를 효율적으로 탐색하기 위한 이분 탐색 현재 최대 길이와 최대 횟수로 통나무를 자를 수 있을지 판단하는(경우의 수 많으면 가장 빠른 인덱스 자르기) 로직을 구현하기 위한 투포인터, 그리디 풀이 방법 이분 탐색을 통하여 조건에 맞게 해당 최대 길이(len), 최대 횟수(c)로 통나무를 자...
투포인터, 구간합 알고리즘
알고리즘을 잊은 미래의 나를 이해시키기 위함핵심: 리스트의 연속된 데이터 구간을 순차적으로 접근할 때 먼저 생각해 봐야할 알고리즘사용이유: O(N^2)의 시간복잡도를 피하기 위함, 리스트의 모든 값을 하나하나 방문하지 않기 위함사용예시: 1,2,3,2,5의 리스트에서

[Python] 투 포인터 알고리즘
투 포인터 알고리즘(Two Pointers Algorithm) 두 포인터를 사용하여 문자열이나 정렬된 배열(또는 리스트)에서 원하는 값을 찾거나 구간합을 구할 때 유용한 알고리즘 슬라이딩 윈도우와 유사하나, 고정된 구간이 아닌 가변적인 구간을 탐색한다는 점에서 차이