반응형
https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
나의 풀이
x = int(input())
group_word = 0
for _ in range(x):
word = input() #전달받는 단어
error = 0
for idx in range(len(word)-1):
if word[idx] != word[idx+1]: # ex) happy 에서 h와 a가 같지않을경우
new_word = word[idx+1:] # new_word에 appy 라는 새로운 단어를 생성
if word[idx] in new_word: # h가 appy에 포함 되었을경우
error += 1 # 에러 발생 ( 그룹단어가 아님 )
if error == 0: # 그룹단어일 경우 0
group_word += 1
print(group_word)
###############
## 개선 후 코드 ##
x = int(input())
for _ in range(x):
word = input()
for idx in range(len(word)-1):
if word[idx] != word[idx+1] and word[idx] in word[idx+1:]:
x -= 1
print(x)
루키의 풀이
n = int(input())
cnt = n
for i in range(n):
s = input() # 전달받는 단어
for j in range(len(s) - 1): # 알파벳 1개씩 돌면서 검사
if s.find(s[j]) > s.find(s[j+1]):
cnt -= 1
break
print(cnt)
반응형
'Python > algorithm' 카테고리의 다른 글
[Leetcode] 480. Running Sum of 1d Array (1) | 2022.12.19 |
---|---|
[leetcode] 1108. Defanging an IP Address (2) | 2022.12.19 |
커트라인 [22.09.04] (0) | 2022.09.04 |
[자료구조] Array (0) | 2022.09.03 |
[몸풀기] 자릿수 더하기(22.09.01) (0) | 2022.09.01 |