DevBoi

[Two pointer] 15565번 풀이 본문

Algorithm/[Two pointer]

[Two pointer] 15565번 풀이

HiSmith 2021. 12. 21. 17:21
반응형

https://www.acmicpc.net/problem/15565

 

15565번: 귀여운 라이언

꿀귀 라이언 인형과, 마찬가지로 꿀귀인 어피치 인형이 N개 일렬로 놓여 있다. 라이언 인형은 1, 어피치 인형은 2로 표현하자. 라이언 인형이 K개 이상 있는 가장 작은 연속된 인형들의 집합의

www.acmicpc.net

 

귀여운 라이언 풀이

생각 보다 투포인터라는 개념만 있으면 쉽게 풀수있다.

 

 

우선 투포인터와 완전 유사하다.

while 조건은 총 두개, left<=right 일때와 right가 numlist.length까지 (<= 인이유는, 인덱스가 다음 인덱스를 가르치기 때문이고.

만약에 ed를 늘리는 조건에서 ed가 마지막일때는 null처리가 아닌 break를 하면된다.)

 

그리고 count(현재 가지고있는 라이언 인형의 개수)가 목표대비 작으면, right를 체크해서 라이언 인형에 추가, right++시켜주고

반대라면, 정답 Update 조건인지 체크를 하고, 정답을 갱신하고

left의 값이 라이언이라면 count를 1빼주고 left 를 증가시켜준다.

 

 

투포인터는 항상 인덱스가 마지막에는 다음 노드를 가르치고, 

현재는 해당 인덱스로 처리를 한다고 생각하면 편하다

반응형

'Algorithm > [Two pointer]' 카테고리의 다른 글

[Two pointer] 16472번 고냥이  (0) 2021.12.21
[Two pointer] 백준 16472  (0) 2021.12.12
[Two pointer] 백준 1806  (0) 2021.12.09
[Two pointer] 백준 2003번  (0) 2021.12.09
[Two pointer] 2230백준 문제 풀이  (0) 2021.12.07