HackerRank Alternating Characters

x·2021년 5월 7일
0

problem-solving

목록 보기
16/18

문자열은 A, B로만 구성되어 있다. 동일 문자가 인접하지 않도록 하려면 몇 개의 문자를 제거해야 하는지 구하는 문제다.
index가 가리키는 문자를 current, index+1이 가리키는 문자를after로 지정하고 current와 after를 비교한다. 같은 값이라면 인접한 것이므로 제거했다고 치고 result +1을 해주면 된다

#!/bin/python3
import os


def alternating_characters(s: str) -> int:
    result = 0
    for i in range(len(s) - 1):
        current = s[i]
        after = s[i + 1]
        if current == after:
            result += 1

    return result


if __name__ == "__main__":
    fptr = open(os.environ["OUTPUT_PATH"], "w")

    q = int(input().strip())

    for q_itr in range(q):
        s = input()

        result = alternating_characters(s)

        fptr.write(str(result) + "\n")

    fptr.close()

0개의 댓글