문제
https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
나의 풀이
count=0
for i in range(int(input())):
alphabet=input()
error=0
for j in range(len(alphabet)-1):
if alphabet[j]!=alphabet[j+1]:
for k in range(1,len(alphabet)-j):
if alphabet[j]==alphabet[j+k]:
error+=1
if error==0:
count+=1
print(count)
다른 사람의 풀이
def grouped(w):
w = [w[i] for i in range(len(w)) if i==0 or w[i-1] != w[i]]
return len(set(w)) == len(w)
print(sum(map(grouped, [input() for i in range(int(input()))])))
다른 사람의 풀이에서 grouped()함수가 잘 이해가 되지 않는다
'알고리즘 공부' 카테고리의 다른 글
백준 2775번, 리스트의 값 복사 (0) | 2022.12.28 |
---|---|
백준 1157번, dictionary 활용, count함수 (2) | 2022.12.27 |
백준 2941번 (0) | 2022.12.08 |
백준 1065번 (0) | 2022.12.07 |
백준 4673번, if문 not in (미해결) (0) | 2022.12.06 |
댓글