문제 백준 1316번 그룹 단어 체커
출처 : 백준 1316번 그룹 단어 체커
나의 풀이 in Python3
N = int(input())
word = []
num = 0
for i in range(N):
word.append(input().lower())
for i in word:
# 해당 단어를 알파벳으로 리스트화하고 이 알파벳이 뒤에 반복되는지 여부 확인
if list(i) == sorted(i, key = i.find):
num +=1
print(num)
이 문제는 인덱싱을 통해서도 풀 수 있지만, 저는 sorted 함수의 key ~ find문을 활용하여 간단하게 풀어봤습니다.
연속해서 나오는 것은 상관없지만, 반복해서 나올 경우 그룹 단어로 채택이 안되기에 해당 단어를 단순 list화하였을 때와 sorted문을 통해 단어별로 정렬시켰을 때가 다른 지 여부를 count하여 풀었습니다.
#저의 설명력이 부족하여 이해가 안되실 분들을 위해
word = ['love', 'finally', 'grow', 'firefighter']
for w in word:
print(sorted(w, key = w.find))
'''
['l', 'o', 'v', 'e']
['f', 'i', 'n', 'a', 'l', 'l', 'y']
['g', 'r', 'o', 'w']
['f', 'f', 'i', 'i', 'r', 'r', 'e', 'e', 'g', 'h', 't']
'''
예시를 보시면 아시듯이
sorted ~ key = ~find 문 활용시 단어를 알파벳으로 리스트화시킨 후 나온 순서대로 정렬시킨 것을 알 수 있습니다.
반복되는 알파벳이 나오지 않는 love, finally, grow는 원래 순서대로 알파벳이 list화되었지만
반복되는 알파벳이 나온 firefighter는 알파벳이 나온 순서대로 반복, 정렬되어 나왔습니다.
반응형
'Tests > 백준' 카테고리의 다른 글
[BOJ] 백준 11047번 동전 0 (0) | 2021.05.25 |
---|---|
[BOJ] 백준 1110번 더하기 사이클 파이썬 (0) | 2021.05.10 |
[BOJ] 백준 2293번 동적계획법 동전 1 (0) | 2021.04.25 |
[BOJ] 파이썬 백준 2504번 괄호의 값 (0) | 2021.04.15 |
[BOJ] 백준 1541번 잃어버린 괄호 (0) | 2021.04.08 |
댓글