🖇️ 문제

📝 코드 계획
1. 단어의 개수 n
2. n 개의 줄의 단어
3. 그룹 단어를 구분하는 조건문
4. 그룹 단어의 개수 x
🔍 전체 코드
n = int(input()) #코드 계획 -1 ☑️
gword = 0
for _ in range(n): #코드 계획 -2 ☑️
word = input()
error = 0
for i in range(len(word)-1): #코드 계획 -3 ☑️
if word[i] != word[i+1]:
nword = word[i+1:]
if nword.count(word[i]) > 0:
error += 1
if error == 0:
gword += 1
print(gword) #코드 계획 -4 ☑️
🖍️ 코드 해설
그룹 단어인지 아닌지를 확인할 단어의 개수를 n으로 받아온다.
그룹 단어의 개수를 세기 위해 gword를 0으로 선언 후 초기화 시킨다.
단어를 입력 받을 때 error라는 변수로 0으로 선언 후 초기화 시킨다.
n번 만큼 word를 입력받는다.
매번 입력 받은 단어(문자열)의 길이만큼 for 문을 사용하여
문자열 속 연달은 두 문자가 같은지 다른지를 확인한다.
만약 문자열의 문자 word[i]와 그 다음 문자 word[i+1]이 다르다면,
word[i]를 제외한 뒤의 문자열을 nword로 생성한다.
nword에 방금 비교했던 word[i]가 포함되어 있는지 count()로 확인하여,
만약 1 이상이라면 그룹 단어가 아니므로 error(그룹 단어가 아닌 단어)에 +1 해준다.
한 단어마다 비교가 끝이나면 error값을 확인하여 0이면 그룹 단어인 gword에 +1을 해준다.
n번의 그룹 단어 확인이 끝이나면, gword를 출력해 총 그룹 단어의 개수를 출력한다.
글을 잘 이해하기 때문에 코드가 잘 돌아갔습니다. 그룹 단어 판별 알고리즘이 신선했어요. 코드를 해설로 더 잘 이해할 수 있었습니다. 계속 좋은 글 부탁드려요.