파이썬/코딩테스트

[프로그래머스] 옹알이(2) - Python(파이썬)

대전집주인 2024. 3. 23. 16:44
728x90
SMALL

 

문제 이해

  • 아기의 옹알이는 'aya', 'ye', 'woo', 'ma'만 할 수 있다.
  • 같은 옹알이를 두번이상 발음할수 없다.
  • 아기의 옹알이는 그대로 발음해야한다 woo -> wo는 불가능하다.
  • babbing 리스트에 있는 옹알이를 말할수 있는 발음으로 조합이 되는지 알아보자

babbing 리스트에서 발음하나씩 꺼내서 조카가 말할수 있는 단어들을 하나씩 조합하게 만들었다.

발음을 리스트로 담고 길이가 0이되면 루프를 나오고 만약 처음에 성공하는 발음이 하나도 없을시 루프를 통과한다.

같은 옹알이를 두번 할 수 없기에 check 를 통해 루프를 돌때 이전에 같은 발음을 했는지 체크한다.

def solution(babbling):
    answer = 0

    for i in babbling:
      my_list = list(i)
      check = 0
        
      while True:
        if len(my_list) == 0:
            answer += 1
            break
        if check != -1:
          if my_list[:3] == ['a','y','a'] and check != 1:
            del my_list[:3]
            check = 1
          elif my_list[:2] == ['y','e'] and check != 2:
            del my_list[:2]
            check = 2
          elif my_list[:3] == ['w','o','o'] and check != 3:
            del my_list[:3]
            check = 3
          elif my_list[:2] == ['m','a'] and check != 4:
            del my_list[:2]
            check = 4
          else:
            check = -1
        else:
          break
    return answer
728x90
LIST