호기심 많은 분석가
[백준 15881] Pen Pineapple Apple Pen (Python) 본문
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를 만들어주어 사용 여부를 확인해주었다.
더 좋은 코드가 있을 것 같아 다른 사람들의 풀이도 찾아봐야겠다. :)
'Coding > Coding Test & Algorithm' 카테고리의 다른 글
[백준 2164] 카드 2 (Python) (0) | 2021.06.04 |
---|---|
[백준 10816] 숫자 카드 2 (Python) (0) | 2021.06.03 |
[백준 1978] 소수 찾기 (Python) (0) | 2021.06.02 |
[백준 10814] 나이순 정렬 (Python) (0) | 2021.06.02 |
[백준 2609] 최대공약수와 최소공배수 (Python) (0) | 2021.06.02 |