😈 알고리즘/🍃 인프런 #1
🙏 18. 층간소음
Buᐢ༝ᐢy
2023. 3. 8. 18:00
it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비 - 인프런 | 강의
모든 문제에 대한 저작권은 위 강의에 있습니다.
문제
T편한 세상 아파트는 층간소음 발생 시 윗집의 발뺌을 방지하기 위해 애초 아파트를 지을 때 바닥에 진동센서를 설치했습니다. 이 센서는 각 세대의 층간 진동소음 측정치를 초단위로 아 파트 관리실에 실시간으로 전송합니다. 그리고 한 세대의 측정치가 M값을 넘으면 세대호수와 작은 경보음이 관리실 모니터에서 울립니다. 한 세대의 N초 동안의 실시간 측정치가 주어지면 최대 연속으로 경보음이 울린 시간을 구하세요. 경보음이 없으면 -1를 출력합니다.
입력 설명
첫 줄에 자연수 N(10<=N<=100)과 M이 주어집니다. 두 번째 줄에 N개의 측정값(1000이하 자연수)이 초 순서대로 입력된다.
출력 설명
최대 연속 경보음이 울린 시간(초)를 출력하세요.
입력 예제 1
10 90
23 17 120 34 112 136 123 23 25 113
출력 예제 1
3
제출 코드
2023년 2월 7일
#include <iostream>
using namespace std;
bool CheckVibration(int standard, int vibration)
{
if (standard < vibration)
return true;
else
return false;
}
int main()
{
int N = 0;
int standard = 0;
cin >> N >> standard;
int seconds = 0;
int max = 0;
for (int i = 0; i < N; i++)
{
int vibration = 0;
cin >> vibration;
if (CheckVibration(standard, vibration))
{
seconds++;
if (seconds > max)
max = seconds;
}
else
seconds = 0;
}
cout << max;
return 0;
}
풀이
저장할 만한 **int**형 변수 **max**를 만들어주고 범위에 미치지 못하면 **seconds**를 **0**으로 할당해주어 **max**를 쉽게 찾을 수 있도록 했다.