24510번: 시간복잡도를 배운 도도백준/문제2024. 5. 28. 14:25
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/24510
언어 : Kotlin
문제 설명 :
도도는 이번 신촌캠프에서 시간복잡도의 개념에 대해 배웠다. 하지만 듣다가 졸려서 자버린 결과 오개념을 가져 버렸는데, 바로 반복문의 개수로만 시간복잡도를 판단한다는 것이다.
시간복잡도를 판단하기 위해 도도는 같은 줄에 몇 개의 반복문이 있는지 궁금해졌다. 도도가 반복문으로 생각하는 코드는 for, while 이다.
도도를 위해 같은 줄에 있는 반복문의 최대 개수를 구하는 프로그램을 작성해보자.
입력 :
첫째 줄에 코드의 줄 개수 C (1 <= C <= 100)가 주어진다.
둘째 줄부터 C개의 줄에 걸쳐 코드가 입력된다. 입력으로 주어지는 코드는 모두 알파벳 소문자이다. 각 줄은 10,000자를 넘지 않는다.
출력 :
첫째 줄에 같은 줄에 있는 반복문의 최대 개수를 출력한다.
제한 사항 :
- 시간 제한 : 1초 (추가 시간 없음)
- 메모리 제한 : 1024MB (추가 메모리 없음)
입출력 예 :
입력 | 출력 |
3 for forwhileforfor forwhileannsds |
4 |
2 asdsdasds dsdsdss |
0 |
풀이 :
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))
var max = 0
repeat(readLine().toInt()) {
val cur = readLine().replace("for", "1").replace("while", "1").count { it == '1' }
max = max.coerceAtLeast(cur)
}
bw.write("$max")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
18198번: Basketball One-on-One (0) | 2024.05.29 |
---|---|
25205번: 경로당펑크 2077 (0) | 2024.05.28 |
20154번: 이 구역의 승자는 누구야?! (0) | 2024.05.28 |
22351번: 수학은 체육과목 입니다 3 (0) | 2024.05.27 |
23841번: 데칼코마니 (0) | 2024.05.27 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!