목록두 포인터 (11)
어흥
문제 링크: www.acmicpc.net/problem/2473 2473번: 세 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 3 이상 5,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 www.acmicpc.net 1. 주의할 점 - 세 포인터가 아닌 1개 고정 + 두 포인터를 이용해 해결한다 - 포인터가 겹칠 수 없다 - 정답을 오름차순으로 출력한다 2. 구현 - 모든 수를 Arr[] 배열에 받은 후, 오름차순으로 정렬한다 - Result를 3000000001로 설정하여 이보다 0에 가까운 값을 가질 경우, Ans[] 배열과 Result값을 갱신하도록 한다 - 가장 왼쪽의 포인터 K를 ..
문제 링크: www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 1. 주의할 점 - 딱히 없다... 배열을 이용하여 A + B = X를 만족하는 B(=X-A)를 찾아도 된다 2. 구현 - 정렬을 통해 수를 오름차순 정렬시킨다 - 양끝에서 시작하는 투포인터로 접근한다 - While문이 끝나는 경우로는 l이 r과 같거나 크면! (같다고만 하면 런타임 에러 발생할 수도 있다. 아래에 예시가 존재!) 더보기 2 1..
문제 링크: www.acmicpc.net/problem/13422 13422번: 도둑 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각각의 테스트 케이스의 첫째 줄에 마� www.acmicpc.net 1. 주의할 점 - N과 M이 같을때의 조건을 잘 세운다 - 최대 몇개를 확인하면 되는지 식을 잘 세운다 - While문 안에 For문을 이용하여 Sum을 계산하지 않는다 -> 두 포인터를 활용한다 2. 구현 - 입력받을 배열의 크기를 2배로 하여 N + M -1개의 배열에서 연속된 M개씩 고르도록 한다 - While문을 몇번 반복할것인지 Len을 구해야 한다. Len : 기존배열에서 한바퀴 더 돌아서 ..