코딩테스트
[Python] 백준 1316번 - 그룹 단어 체커
박매트
2024. 5. 23. 22:59
https://www.acmicpc.net/problem/1316
My Answer
N = int(input())
cnt = 0
def wordChecker(string): # 그룹 단어 체커인 지 확인
check = []
for s in string:
if s not in check: #리스트에 해당 문자가 존재하는 지 확인
check.append(s) #없었다면 check 리스트에 담기
elif check[-1] != s: # 해당 문자가 존재했는데, s와 마지막에 담긴 check의 값과 같지 않다면 그룹 단어 체커가 아님
return False
return True # 여기까지 왔다면, 그룹 단어 체커
for i in range(N):
string = input() # 문자열 입력받기
if wordChecker(string):
cnt+=1
print(cnt)
문자가 존재하는 지 확인하고, 존재하지 않았던 문자라면 리스트에 담는다.
검사하는 문자가 리스트에 담긴(이미 존재하는 단어 중 하나) 거 라면, 마지막으로 담긴 문자와 검사하는 문자랑 비교한다.
마지막으로 담긴 문자와 같지 않다면, 기존에 나온 단어가 나온 것이므로 False
다른 사람 답
n = int(input())
for i in range(n):
word = list(input())
crite = []
crite.append(word[0])
for i in range(len(word)-1):
if word[i] == word[i+1]:
continue
else:
if word[i+1] in crite:
n = n -1
break
crite.append(word[i+1])
print(n)
거의 비슷하게 접근한 것 같다.
Point
리스트 안에 해당 요소가 존재하는 지 알려면
요소 in 리스트 이름 -> true, false