728x90
📚문제
📝풀이
N = int(input())
group_word = N
for i in range(N) :
word = input()
for j in range(len(word)-1) :
if word[j] == word[j+1] : # 문자가 연속되면 그냥 다음 반복으로
continue
elif word[j] in word[j+1:] : # 다른 문자와 처음 비교될 때 그 이후에도 문자가 나오면 -1
group_word -= 1 # zzzaaz에서 z와 a 비교하는데 이후 문자열에서 z가 나오므로 -1 하고 두번째 for문 종료
break # 그 이후에 나오지 않는다면 다음 반복으로
print(group_word)
count나 index함수를 이용하는 방법으로 생각중이었는데 너무 어려워서 계속 생각하다가 구글링해서 답을 참고해봤다.
두번재 for문 전까지는 풀이가 같았는데 그 이후에 풀이가 어려워서 계속 보고 이해하려고 했다.
아직 for문에서 continue, pass, break문등의 사용이 익숙하지 않아서 그런 것 같다.
1. elif word[j] in word[j+1:] True일 경우
2. elif word[j] in word[j+1:] False일 경우
728x90
'Python(알고리즘,문제풀이) > BOJ (Bronze V)' 카테고리의 다른 글
2738번 / 행렬 덧셈 (0) | 2023.07.05 |
---|---|
25206번 / 너의 평점은 (0) | 2023.07.04 |
2941번 / 크로아티아 알파벳 (0) | 2023.07.02 |
1157번 / 단어공부 (0) | 2023.06.30 |
10988번 / 팰린드롬인지 확인하기 (0) | 2023.06.30 |