백준 문제풀이
1316번 - 그룹 단어 체커 / silver 5 / dict, string
RonLee
2023. 2. 5. 14:29
https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
'''
1316번 - 그룹 단어 체커 / silver 5 / dict, string
'''
import sys
input = sys.stdin.readline
def is_group_word(word):
i = 0
group = dict()
while i < len(word):
now = word[i]
if group.get(now):
return 0
group[now] = 1
i += 1
if i == len(word):
break
while now == word[i]:
i += 1
if i == len(word):
break
return 1
cnt = 0
for _ in range(int(input())):
word = input()
if is_group_word(word):
cnt += 1
print(cnt)
단어 하나를 입력 받으면, 해당 문제에서 말한 그룹단어가 맞는지 확인 후,
맞으면 cnt 1증가, 아니면 pass
그룹단어가 맞는지 확인하는 함수 만들기
def is_group_word(word):
(딕셔너리를 활용)
- 단어의 첫번째 문자 ~ 끝 문자까지 체크하기
- now = word[i] / 현재 가리키고 있는 문자를 now에 넣고,
- 딕셔너리 key 값에 now 가 있는지 확인
- 있으면, 그룹 단어가 아니므로 return 0
- 없으면, 딕셔너리 key 값에 추가
- 현재 가리키고 있는 문자 now // 바로 뒤에 문자들이 now랑 같은 문자이면, i += 1