[백준 / 1316] 그룹 단어 체커


날짜: 2021년 5월 24일
소요 시간: 48분 02초
카테고리: 수학 문제
태그: silver.5, 1316, 파이썬

백준 1316 - 그룹 단어 체커

입출력 예시

예제 입력예제 출력
33
happy 
new 
year 
41
aba 
abab 
abcabc 
a 

내가 적은 코드

N = int(input())
count = 0
i = 0
while i < N:
    voca = input()
    voca_check = [voca[0]]
    for j in range(1,len(voca)):
        if voca[j-1] != voca[j]:
            voca_check.append(voca[j])
    if len(set(voca_check)) == len(voca_check):
        count += 1
    i += 1
print(count)

풀이 과정

입력된 문자열을 첫번째 알파벳부터 그 다음 알파벳을 비교하여 다른 알파벳이 나왔을 경우 voca_check 리스트에 알파벳을 저장하여
voca_check 리스트에서 중복을 제외한 길이와 그냥 voca_check의 길이가 같을 경우 이 수는 그룹 단어이다.

베스트 코드

result = 0
for i in range(int(input())):
    word = input()
    if list(word) == sorted(word, key=word.find):
        result += 1
print(result)

반성

  • sorted 함수에 대한 이해도가 낮아 훨씬 간단해 질 수 있는 코드를 길게 풀어썼다.




© 2021. by hminkim