본문 바로가기

투포인터2

백준 13144 c++, java 풀이 문제 길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라. 입력 첫 번째 줄에는 수열의 길이 N이 주어진다. (1 ≤ N ≤ 100,000) 두 번째 줄에는 수열을 나타내는 N개의 정수가 주어진다. 수열에 나타나는 수는 모두 1 이상 100,000 이하이다. 출력 조건을 만족하는 경우의 수를 출력한다. 예제 입력 1 복사 5 1 2 3 4 5 예제 출력 1 복사 15 예제 입력 2 복사 5 1 2 3 1 2 예제 출력 2 복사 12 예제 입력 3 복사 5 1 1 1 1 1 예제 출력 3 복사 5 이 문제는 투포인터 알고리즘을 사용한다. 문제의 로직 1. 수열들을 모두 입력 받는다. 2. 투포인터의 원점 s.. 2023. 7. 6.
백준 2473 c++ 문제 KOI 부설 과학연구소에서는 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다. 각 용액에는 그 용액의 특성을 나타내는 하나의 정수가 주어져있다. 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 세 가지 용액을 혼합한 용액의 특성값은 혼합에 사용된 각 용액의 특성값의 합으로 정의한다. 이 연구소에서는 같은 양의 세 가지 용액을 혼합하여 특성값이 0에 가장 가까운 용액을 만들려고 한다. 예를 들어, 주어진 용액들의 특성값이 [-2, 6, -97, -6, 98]인 경우에는 특성값이 -97와 -2인 용액과 특성값이 98인 용액을 혼합하면 특성값이 -1인 용액을 만들 .. 2023. 4. 11.