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
'코딩테스트' 카테고리의 다른 글
[Python] 2941번 - 크로아티아 알파벳 (0) | 2024.05.24 |
---|---|
[Python] 가장 높은 탑 쌓기 (LIS 응용) (0) | 2024.05.24 |
[Python] 섹션 8 DP(동적계획법) - 최대 부분 증가수열 (0) | 2024.05.23 |
[Python] 백준 2775 - 부녀회장이 될테야 (0) | 2024.05.22 |
[Python] 백준 - 20125번 : 쿠키의 신체측정 (0) | 2024.05.22 |