공연장의 좌석 상태가 seats로 주어져요. 0은 빈 좌석이고, 1은 예약된 좌석이에요. 같은 줄에서 가로로 붙어 있는 빈 좌석의 최대 개수를 구하려고 해요. 서로 다른 줄에 있는 좌석은 이어진 것으로 보지 않아요.
int solution(vector<vector<int>> seats)가 최대 개수를 반환해야 해요. 제공된 코드에서 잘못된 한 줄만 수정해 주세요. 빈 좌석이 없으면 0을 반환해요.
매개변수와 반환값
- 행 수와 열 수는 각각 1 이상 50 이하이며, 모든 행의 길이는 같아요.
- 각 원소는 0 또는 1이에요.
- 반환값은 최대 연속 빈 좌석 수로, 0 이상 열 수 이하예요.
예시
seats = [[0, 0, 1, 0], [0, 0, 0, 1]]이면3을 반환해요. 둘째 줄의 앞 세 좌석이 이어져 있어요.seats = [[1, 0, 0], [0, 1, 1]]이면2를 반환해요. 첫 줄의 뒤 두 좌석이 가장 길게 이어져 있어요.
실행용 입출력
첫 줄에 행 수 열 수, 이후 각 줄에 좌석 한 줄의 상태를 입력해요. main은 함수 호출용 하네스이며 반환값을 출력해요.
예시 입력
2 4 0 0 1 0 0 0 0 1
예상 결과
3
예시 입력
2 3 1 0 0 0 1 1
예상 결과
2
핵심 개념
array-2d: 행별로 독립된 연속 구간을 읽어요.loops: 현재 구간의 상태와 전체 최댓값의 유지 범위를 구분해요.stl-vector: 주어진 벡터의 크기와 인덱스로 데이터를 읽어요.