[Python] 백준 1316 | 그룹 단어 체커 : 슬라이싱

heige·2023년 12월 7일
0

BOJ

목록 보기
17/46
post-thumbnail

문제

https://www.acmicpc.net/problem/1316

풀이

접근 방식

  • N만큼 for문으로 단어 입력 받는다.
  • 그룹단어의 개수를 셀 cnt 변수 만들고 N 값 대입
  • 문자열 내에서 j번째가 j+1와 같으면 연속된 것이기에 넘어가기
  • j번째가 j+1와 같지 않을 때, j번째 문자가 j+1 뒤에 위치하면 cnt 차감하고 해당 for 문 나오기
  • cnt 개수 출력
N = int(input())
cnt = N
for _ in range(N) :
    word = input()
    for j in range(len(word)-1) :
        if word[j] == word[j+1] :
             continue
        elif word[j] in word[j+1:] :
            cnt -= 1
            break;
print(cnt)
  • 범위 조심하기 (i+1을 다두려면 반복문 범위에서 -1 해줘야함)

💡

리스트 슬라이싱을 이용하면 필요한 범위를 간단히 표현할 수 있다.
elif word[j] in word[j+1:] 처럼, j+1 뒤에 해당하는 모든 범위를 비교할 수 있다.

profile
웹 백엔드와 클라우드 정복을 위해 탄탄한 기반을 쌓아가고 있는 예비개발자입니다. 'IT You Up'은 'Eat You Up'이라는 표현에서 비롯되어, IT 지식을 끝까지 먹어치운다는 담고 있습니다.

0개의 댓글