[백준 / 1316] 그룹 단어 체커
in Problem Solving on BaekJoon
날짜: 2021년 5월 24일
소요 시간: 48분 02초
카테고리: 수학 문제
태그: silver.5
, 1316
, 파이썬
입출력 예시
예제 입력 | 예제 출력 |
---|---|
3 | 3 |
happy | |
new | |
year | |
4 | 1 |
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
함수에 대한 이해도가 낮아 훨씬 간단해 질 수 있는 코드를 길게 풀어썼다.