호기심 많은 분석가

[백준 15881] Pen Pineapple Apple Pen (Python) 본문

Coding/Coding Test & Algorithm

[백준 15881] Pen Pineapple Apple Pen (Python)

DA Hun 2021. 6. 2. 22:45
 

15881번: Pen Pineapple Apple Pen

여러 개의 사과, 파인애플, 그리고 펜이 일렬로 세워져 있다. 이 물건들의 순서를 바꾸지 않고 옆에 있는 물건끼리 연결했을 때, 펜-파인애플-애플-펜을 몇 개나 만들 수 있을지 세어보자. 단, 펜,

www.acmicpc.net

import sys
n = int(sys.stdin.readline().strip())
arr = sys.stdin.readline().strip()

ck = [1]*len(arr)
result = 0
for i in range(len(arr)-3) : 
  if arr[i:4+i] == 'pPAp' :
    if sum(ck[i:4+i])== 4 :
      result += 1
      ck[i], ck[i+3] = 0, 0

print(result)

 처음에 풀면서 느꼈던 점은 이게 왜 다이나믹 프로그래밍이지? 였다. 제출하고 보니 알 수 있었는데, 사용한 펜은 다시 사용할 수 없기에 고려대상에서 제외시켜줘야 했다. 그래서 check array인 ck를 만들어주어 사용 여부를 확인해주었다.

 더 좋은 코드가 있을 것 같아 다른 사람들의 풀이도 찾아봐야겠다. :)