알고리즘 & 자료구조/두포인터 2

[백준] 11728번 -배열 합치기(JAVA)

| 접근 방법 말 그대로 두개의 배열을 입력받아 정렬하여 결과를 출력하면 된다. 이 때 정렬하는 방법은 두가지가 있다. 첫번째는 Arrays.sort 메소드를 사용하고 두번째는 두포인터를 사용하는 것이다. 두가지 다 다뤄보겠다. | 입출력 BufferedReader 를 사용하여 입력값을 받고 System.out.print 를 사용하여 출력했다. | 1.Arrays.sort 사용하기 import java.util.*; import java.io.*; public class CombineArray_11728 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStr..

[백준] 13144번 -List of Unique Numbers (JAVA)

1 2 3 1 2에서 1개 이상의 수를 뽑았을때 나올 수 있는 경우의 수는 12가지이다. 여기서 포인트는 연속한 1개이상의 수를 뽑아야 한다는 것이다..! 이 문제는 두포인터 알고리즘을 이용해서 풀 수 있다. 한개의 포인터는 차례대로 늘리고 다른 하나의 포인터는 점점 늘리는 식으로 활용하는 것이다. | 투 포인터(Two Pointers)란? 리스트에 순차적으로 접근해야 할 때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘 정렬되어있는 두 리스트의 합집합에도 사용됨. | 접근 방식 1. l 을 차례대로 늘리고 , r은 점점 늘리는 식으로 두 포인터를 활용한다. : 두 포인터는 안봐도 될 부분을 안 보기 위한 알고리즘이다. ex) 1 2 3 1 2 수열이 있을때 l = 1, r = 1 에서 r = 2, ..