반응형
https://www.acmicpc.net/problem/1316
소스코드
풀이
1.리스트를 만들어 확인하려고 하는 문자가 이미 리스트에 들어가 있는지, 2. 확인하려고 하는 문자가 바로 이전문자와 같지 않은지 이 두가지를 비교할 수 있다면 어렵지 않게 풀 수 있는 문제입니다.
'for i in words:'에서 입력받은 문자의 알파벳을 하나씩 읽고, 읽은 문자가 위의 1번과 2번에 모두 성립한다면 그 단어는 그룹 단어가 아니기 때문에 break로 반복문을 빠져나옵니다.
둘 중 하나라도 성립하지 않는다면 그룹 단어가 될 수 있는 요건이 갖춰지기 때문에 해당 알파벳을 리스트에 추가하고 이전 알파벳을 해당 알파벳으로 바꿔줍니다.('word = i')
여기서 for ~ else 구문이 사용되는데
for ~ else 구문은 for문이 break 등에 의해 중간에 멈추지 않고 끝까지 반복문이 수행된다면 else 구문을 수행하는 구문입니다.
그렇기에 위 코드에서 break 문에 걸리지 않는다는 것은 해당 단어가 그룹 단어라는 의미이기 때문에 개수를 세아리는 변수인 count 를 + 1 해줍니다 !
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준 알고리즘] 11718번: 그대로 출력하기 (Python) (0) | 2023.03.24 |
---|---|
[백준 알고리즘] 1744번: 수 묶기 (Python) (0) | 2023.03.23 |
[백준 알고리즘] 1181번: 단어 정렬 (Python) (0) | 2023.03.21 |
[백준 알고리즘] 1158번: 요세푸스 문제 (Python) (0) | 2023.03.21 |
[백준 알고리즘] 1026번: 보물 (Python) (0) | 2023.03.16 |