https://www.acmicpc.net/problem/15881
여러 개의 사과, 파인애플, 그리고 펜이 일렬로 세워져 있다. 이 물건들의 순서를 바꾸지 않고 옆에 있는 물건끼리 연결했을 때, 펜-파인애플-애플-펜을 몇 개나 만들 수 있을지 세어보자.
단, 펜, 파인애플, 사과, 펜 순서로 연결된 네 개의 물건만을 펜-파인애플-애플-펜으로 인정하며, 하나의 펜이 두 개의 펜-파인애플-애플-펜에 포함될 수 없다. 또한 펜, 사과, 파인애플, 펜 순서로 연결된 네 개의 물건은 펜-파인애플-애플-펜이 아니다.
첫 번째 줄에 물건의 총 개수 n이 주어진다. (1 ≤ n ≤ 1,000,000)
두 번째 줄에 물체의 목록이 길이 n의 문자열로 주어진다. 사과는 A로, 파인애플은 P로, 펜은 p로 대소문자를 구분하여 표기한다.
만들 수 있는 펜-파인애플-애플-펜의 최대 개수를 출력한다.
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
const penPineAppleApplePen = "pPAp"
func main() {
var n int
var input string
var read = bufio.NewReader(os.Stdin)
fmt.Fscanln(read, &n)
fmt.Fscanln(read, &input)
var result = 0
for {
f := strings.Index(input, penPineAppleApplePen)
if f == -1 {
break
}
result++
input = input[f+4:]
}
fmt.Println(result)
return
}
[Programmers] Lv.1 [1차] 비밀지도 (Java) (0) | 2023.01.24 |
---|---|
[백준] 1919번 애너그램 만들기 (Go) (0) | 2023.01.11 |
[Programmers] Lv.1 개인정보 수집 유효기간 (Go) (0) | 2023.01.06 |
[Codility] StrSymmetryPoint (Go) (0) | 2023.01.05 |
[Codility] ParityDegree (Go) (0) | 2023.01.04 |
댓글 영역