[백준/Java] 30804 - 과일 탕후루
·
코딩테스트/백준
https://www.acmicpc.net/problem/30804문제풀이예시과일이 [2, 1, 2, 1, 3, 3, 1, 3, 1, 3] 순서로 놓여 있다면, [3, 3, 1, 3, 1, 3] (길이 6)이 두 종류(1, 3)의 과일로만 만들 수 있는 가장 긴 탕후루가 된다 모든 부분 배열을 다 확인하면 시간 초과가 발생한다. 따라서 투 포인터 방식으로 풀이하였다두 개의 포인터(left, right)를 이용해 배열 위에 창문(window)을 만들고, 창문을 오른쪽으로 움직여가며 조건을 만족하는 가장 긴 길이를 찾는 방식이다창문 확장: right 포인터를 오른쪽으로 한 칸씩 이동시키며 창문에 새로운 과일을 포함시킨다조건 검사: 창문 안에 있는 과일의 종류가 2가지를 초과하는지 확인한다창문 축소: 과일 종..