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

suhyeon chae·2022년 1월 5일

무려 실버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개의 댓글