백준 단계별문제/문자열/ 파이썬 백준 1316 그룹단어체커

suhyeon chae·2022년 1월 5일
0

무려 실버5 문제이다.. 푸는데 한시간 걸린건 안비밀,,


문제 해결 포인트

  1. 문자열의 범위 지정
  2. 현재 위치의 단어와 다음 위치의 단어가 다를때 비교
# 문제 번호 1316 그룹 단어 체커

N = int(input()) # 반복횟수, 단어의 개수 

for i in range(N):
    word = input()
    for j in range(len(word)-1):  # 마지막 단어(j+1)까지 비교하기 위해 범위 len(word)-1
        if word[j] != word[j+1]:  # j와 j+1이 다른 경우만 비교 
             if word[j] in word[j+1:]:
                 N -= 1
                 break      
print(N)
  • 현재 위치의 단어와 다음 위치의 단어가 같은 경우는 어차피 같은 단어니까 비교안했음
  • 현재위치의 단어가 (word[j]) 다음 단어부터 슬라이싱한 리스트(word[j+1:])에 포함될 때(in 연산자 이용) 뒤에 현재 위치의 단어가 또 나온다는 뜻 --> 그룹단어가 될 수 없음
  • 만약 포함될 경우 전체 단어 개수 N에서 1씩 빼주고 안쪽 for문 break로 빠져나옴
profile
예비 클라우드 & 백엔드 개발자 !

0개의 댓글