30454번: 얼룩말을 찾아라!백준/문제2024. 5. 31. 03:14
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/30454
언어 : Kotlin
문제 설명 :
사파리 투어를 나선 건덕이는 얼룩말에 관심이 많았다. 특히 얼룩말의 몸통에 검은 줄이 많을수록 얼룩말이 아름답다고 생각했다.
건덕이는 얼룩말들의 털 상태를 0과 1로 기록한다. 0은 털이 흰 부분을, 1은 털이 검은 부분을 의미한다.
검은 줄의 개수는 연속하는 검은 부분의 개수이다. 예를 들어, 건덕이가 한 얼룩말의 털 상태를 01101110101로 기록했다면, 이 얼룩말은 4개의 검은 줄을 가지고 있다.
건덕이는 모든 얼룩말에 대한 털 상태를 기록해 두었다. 건덕이가 생각하기에 가장 아름다운 얼룩말은 몇 개의 줄을 가졌고, 그런 얼룩말이 총 몇 마리가 있을까?
입력 :
첫째 줄에 얼룩말의 개체수 N, 얼룩말의 몸통 길이를 나타내는 정수 L이 공백으로 구분되어 주어진다.(1 <= N, L <= 1,000)
이어지는 N개의 줄에 건덕이가 기록한 길이 L의 얼룩말의 털 상태를 나타내는 문자열이 한 줄에 하나씩 주어진다. 문자열은 0과 1로만 이루어져 있다.
출력 :
건덕이가 생각하는 가장 아름다운 얼룩말이 가지고 있는 검은 줄의 개수와 그런 얼룩말의 개체수를 공백으로 구분하여 출력한다.
제한 사항 :
- 시간 제한 : 0.5초
- 메모리 제한 : 1024MB
입출력 예 :
입력 | 출력 |
5 9 110010101 101010100 000011111 011011010 100100101 |
4 3 |
풀이 :
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val (n, l) = readLine().split(" ").map { it.toInt() }
val list = List(n) { readLine().replace("0", " ").split(" ").filter { it != "" }.size }
bw.write("${list.max()} ${list.count { it == list.max() }}")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
19585번: 전설 (0) | 2024.06.03 |
---|---|
28702번: FizzBuzz (0) | 2024.06.03 |
16360번: Go Latin (0) | 2024.05.31 |
3447번: 버그왕 (0) | 2024.05.31 |
11094번: 꿍 가라사대 (0) | 2024.05.30 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!