코딩테스트/백준
백준 [1316] - 그룹 단어 체커
문제
작성한 코드
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 |
댓글