Lumpy Space Princess - Adventure Time
코딩테스트/백준

백준 [1316] - 그룹 단어 체커

yaebb_82 2022. 8. 23.

 

문제

 

 

 

작성한 코드

import sys

input = sys.stdin.readline

N = int(input())
count = N

for i in range(N):
    words = list(input().rstrip())
    
    for j in range(len(words)-1):
        if words[j] == words[j+1]:
            pass
        elif words[j] in words[j+1:]:
            count -= 1
            break

print(count)

- sys.stdin.readline을 input에 할당하여 사용한다.

- input()으로 문자를 입력받고, int형으로 형변환하여 N에 저장한다. (N은 단어의 개수)

- count에는 N을 할당하여, 이후에 그룹 단어가 아닐 경우 1씩 감소시킨다.

- for i in range(N): N만큼 반복문 for문을 돌리면서, input()으로 문자를 입력받고, rstrip()으로 오른쪽에 생성되는 엔터를 제거해준 뒤, List인 words에 저장한다.

- for j in range(len(words)-1): 입력한 값을 저장한 words의 길이에서 1을 뺀만큼 반복문 for문을 돌린다.

  (1을 뺀 이유는, words의 현재 인덱스와 다음 인덱스의 비교를 반복하기 때문에 길이보다 1이 작다.)

- 만약 words의 현재 인덱스(j)와 다음 인덱스(j+1)가 같다면, pass로 넘어간다.

- 만약 words의 현재 인덱스가 words를 슬라이싱하여 다음 인덱스 이후의 문자들 안에 있다면, 그룹 단어가 아니기 때문에 count를 1을 감소해주고, break를 통해 for문을 종료한다. 이후 다음 단어를 진행한다.

- 최종적으로 그룹 단어의 개수인 count의 값을 print()로 출력한다.

 

 

 

반응형

'코딩테스트 > 백준' 카테고리의 다른 글

백준 [2292] - 벌집  (0) 2022.08.24
백준 [1712] - 손익분기점  (0) 2022.08.23
백준 [2941] - 크로아티아 알파벳  (0) 2022.08.23
백준 [5622] - 다이얼  (0) 2022.08.23
백준 [2908] - 상수  (0) 2022.08.20

댓글