Leetcode 솔루션: 별표 계산

문자열 s가 주어집니다. 여기서 두 개의 연속된 수직 막대 '|' 한 쌍으로 그룹화됩니다. 즉, 1번째와 2번째 '|' 3번째와 4번째 '|' 쌍을 만드는 등.

각 '|' 쌍 사이의 ''를 제외하고 s에서 ''의 수를 반환합니다.

각 '|' 정확히 한 쌍에 속합니다.

class Solution(object):
    def countAsterisks(self, s):

        if not "*" in s:
            return 0

        stack = []
        count = 0

        for char in s:
            if char == "|":
                count += 1

            stack.append(char)

            if count == 2:
                while count:
                    el = stack.pop()
                    if el == "|":
                        count -= 1


        return "".join(stack).count("*") 




좋은 웹페이지 즐겨찾기