백준/문제

31636번: 三連続 (Three Consecutive)

스몰스테핑 2024. 9. 13. 11:23

문제 출처 : https://www.acmicpc.net/problem/31636

 

언어 : Kotlin

 

문제 설명 :

長さ N の文字列 S が与えられる.S の各文字は o か x のいずれかである.

S に o が 3 つ連続している箇所があれば Yes を,そうでないならば No を, 1 行で出力せよ.

ただし, o が 3 つ連続している箇所の隣に o があっても良いものとする.

 

입력 :

入力は以下の形式で与えられる.

N
S

 

출력 :

S に o が 3 つ連続している箇所があれば Yes を,そうでないならば No を出力せよ.

 

제한 사항 :

  • 시간 제한 : 2초
  • 메모리 제한 : 1024MB
  • 1 ≦ N ≦ 100 000.
  • S は長さ N の文字列である.
  • S の各文字は o か x のいずれかである.
  • N は整数である.

 

입출력 예 :

입력 출력
5
oxooo
Yes
5
xooxo
No
1
o
No
10
oooooooooo
Yes

 

풀이 : 

import java.io.BufferedWriter
import java.io.OutputStreamWriter

fun main() = with(System.`in`.bufferedReader()) {
    val bw = BufferedWriter(OutputStreamWriter(System.out))

    val n = readLine().toInt()
    val s = readLine()

    bw.write(if (s.contains("ooo")) "Yes" else "No")
    bw.flush()
    bw.close()
}