풀이
분기점이 총 3개가 나온다.
- i와 i-1번째가 다르고 처음 보는 단어인 경우
- i와 i-1번째가 같고 처음 보는 단어는 아닌 것(같은 문자가 연속된 것)
- i와 i-1번째가 다른데 이미 확인 된 것(서로 떨어져 있는 경우) - 예) aabba --> 이때가 그룹 단어가 아닌 경우을 바로 확인 가능하다. 즉, i + 1번째 단어들은 볼 필요가 없다.
필요한 변수 : bool형 alpha배열(처음 보는 단어인지 아닌지 확인한다), char형 prev 변수(i번째 기준으로 i -1번째 문자를 기억하는 용도)
나는 함수를 사용해서 구현 할 것이므로 3번째 경우일 때 바로 return false를 해주면 되고 나머지 경우일 경우일 때는 alpha배열과 prev변수를 업데이트만 해주면 되는 상황이 나온다.
코드
'온라인저지' 카테고리의 다른 글
[BOJ] 2156: 포도주 시식 (0) | 2018.03.26 |
---|---|
[BOJ] 1003번: 피보나치 함수 (0) | 2018.03.25 |
[BOJ] 11726번: 2xn 타일링(feat. DP) (0) | 2018.03.25 |
[BOJ]1005: ACM Craft (0) | 2018.03.09 |
[BOJ]1004번: 어린 왕자 (0) | 2018.02.19 |
[BOJ]1920번: 수 찾기 (0) | 2018.02.05 |
댓글