실버 5짜리지만 시간이 좀 지나면 브론즈 1로 내려갈 것같기도...??
한 단어 내에서 같은 알파벳은 연속으로, 그 외의 서로 다른 알파벳은 아무렇게든 붙어있다면 "그룹단어"라 한다.
이 때 그룹단어의 개수를 출력하는 문제다.
맨 처음에는 그룹단어의 개념이 이해가 잘 안됐는데, 예시를 보면서 아하 했다.
happy의 경우 그룹단어가 될 수 있는 이유는 같은 알파벳인 p가 붙어있기 때문에 그룹단어지만,
cacab의 경우 c, a가 단어 내에 중복으로 존재하지만 그룹별로 붙어있지 않기 때문에 그룹단어가 아니다.
그래서 stack을 쌓고 중복인 알파벳일 경우 else문 내에서 직전의 알파벳과 동일한 알파벳인지 따져봤다.
만약 연속으로 동일한 알파벳이면 stack에 계속 넣어주고, 그렇지 않으면 그룹단어 나가리! 바로 break해준다.
그렇게 그룹단어의 개수를 변수 cnt를 통해서 추가해주고 for문을 빠져나왔을 때 cnt 값을 출력하면 된다.
이제 이런 문제는 자신감있게 풀 수 있을 것같다!!
'공부 > 백준' 카테고리의 다른 글
[백준] 1010번 (0) | 2022.06.15 |
---|---|
[백준] 11659번 (0) | 2022.06.15 |
[백준] 2331번 (0) | 2022.06.15 |
[백준] 2577번 (0) | 2022.06.15 |
[백준] 2740번 (0) | 2022.06.15 |