BeakJoon/Python

[Python] 백준 #1316번 : 그룹 단어 체커 (S-V)

쿼딩~ 2023. 11. 8. 18:55


걸림돌

  • 문자열의 문자들을 어떻게 비교하여 그룹 단어 유무를 판단할 것인가?
    • →  문자열의 첫 번째 문자(0번 인덱스에 저장된 문자)가 끊기는 인덱스 부터 마지막 인덱스 까지 슬라이싱 하여 첫 번째 문자와 비교해서 만약 나온다면 처음 N을 넣어준 변수에서 -1 하는 것으로 해결

코드


# N 입력받음
N = int(input())
# 그룹단어 개수를 구하기 위해 N을 다른 변수에 저장해둠
answer = N

# N 번 입력받고 문자열 아래 for문에 문자열을 처리시킴
for _ in range (N):
    word = input()
    # word의 인덱스 수 만큼 for문 돌림
    for i in range (0, len(word)-1):
        # 0번 인덱스 부터 바로 다음 인덱스랑 비교
        # 같으면 pass 다르면 그 인덱스 부터 끝 인덱스 까지
        # 슬라이싱 해서 같은게 있으면 answer에서 -1을 함
        if word[i] == word[i+1]:
            pass
        elif word[i] in word[i+1:]:
            answer -= 1
            break

print(answer)

알게된 점

  • 슬라이싱에 대해 알게되었고 공부하게 됨
    • 슬라이싱이란?→ 지정한 일부분을 복사해서 가져오는 것이라고 생각하면 쉬움: a[start : end : step] start : 슬라이싱을 시작할 위치, end : 슬라이싱을 끝낼 위치, step : 몇 개씩 끊어서 가져올지와 방향을 정함.

- 사용법 -

: a[start : end : step]

start : 슬라이싱을 시작할 위치, end : 슬라이싱을 끝낼 위치, step : 몇 개씩 끊어서 가져올지와 방향을 정함