시뮬레이션 2 - 최장 연속 부분 수열

CodeKong의 기술 블로그·2023년 7월 5일
1

코딩테스트 스킬

목록 보기
5/5

수열 (2, 2, 7, 7, 7, 7, 5, 7, 7)이 주어졌을 때,연속해서 나오는 같은 숫자를 한 묶음이라 봤을 때, 총 몇 개의 묶음이 있을까요?

다음과 같이 새로운 묶음이 생겨나는 순간을 잡아 개수를 세줄 수 있습니다.

새로운 묶음이라는 것은 바로 직전에 나온 숫자와 다른 숫자가 나왔다는 의미를 갖기 때문에,

i번째 index에 해당하는 원소를 a[i]라 했을 때 a[i] ≠ a[i - 1] 인 경우를 찾으면 됩니다.

단, i가 0인 경우에는 직전 원소를 정의할 수 없으므로, 따로 예외적으로 처리를 해줘야 함에 유의합니다.

0개의 댓글