📄문제
T편한 세상 아파트는 층간소음 발생 시 윗집의 발뺌을 방지하기 위해 애초 아파트를 지을 때
바닥에 진동센서를 설치했습니다. 이 센서는 각 세대의 층간 진동소음 측정치를 초단위로 아
파트 관리실에 실시간으로 전송합니다. 그리고 한 세대의 측정치가 M값을 넘으면 세대호수와
작은 경보음이 관리실 모니터에서 울립니다. 한 세대의 N초 동안의 실시간 측정치가 주어지면
최대 연속으로 경보음이 울린 시간을 구하세요. 경보음이 없으면 -1를 출력합니다.
⬇️ 입력
첫 줄에 자연수 N(10<=N<=100)과 M이 주어집니다.
두 번째 줄에 N개의 측정값(1000이하 자연수)이 초 순서대로 입력된다.
10 90 23 17 120 34 112 136 123 23 25 113 |
⬆️ 출력
최대 연속 경보음이 울린 시간(초)를 출력하세요.
3 |
📝 풀이
#include <iostream>
int main()
{
int N, M;
scanf_s("%d %d", &N, &M);
int maxSec = -1;
int curSec = 0;
int input;
for (int i = 0; i < N; ++i)
{
scanf_s("%d", &input);
if (input > M)
{
++curSec;
if (curSec > maxSec)
maxSec = curSec;
}
else
curSec = 0;
}
printf("%d", maxSec);
}
- maxSec를 -1로 초기화하여 input이 M보다 크면 curSec를 1씩 증가시킵니다.
- 만약 curSec가 maxSec보다 크다면, maxSec를 curSec로 설정합니다.
'algorithms (C++)' 카테고리의 다른 글
[C++] 가위 바위 보 (0) | 2023.10.13 |
---|---|
[C++] 분노유발자 (0) | 2023.10.13 |
[C++] 선생님 퀴즈 (0) | 2023.10.13 |
[C++] 아나그램(Anagram) (0) | 2023.10.13 |
[C++] 소수의 개수 (에라토스테네스의 체) (0) | 2023.10.13 |