[Two pointer] 백준 2003번
https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 간단한 투포인터 문제이다. 정렬은 할필요없고, start, end 가 00부터 시작해서, sum과 타겟을 비교하면서 이동시키면된다. 다만 마지막 인덱스에 대해서는 조금 고민을해볼필요가 있다. 왜냐면 end가 index range를 벗어나게 되면 오류가 발생하기때문이지만 end가 마지막 지점에 있고 start를 줄여나가면서 탐색을 해야될 수도 있기 때문에, ..
[Binary Search] 백준 2110 풀이
https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 공유기 설치 문제이다. 이전에 풀었던 레슨 문제와 유사하다. 범위를 구하고 이분탐색을 하면 끝이다. 말하면, 각각의 리스트들을 합하듯이, 앞에서 뒤의 집을 빼주면서 체크를 하고, 이분탐색의 mid 값보다 크다면, cnt를 증가, 반복문이 다돌면, answer보다 큰지 작은지 체크해서, 답에 update해주면 된다.