풀이
배열의 가로/세로줄에 대해 연속으로 동일한 숫자가 M개 이상인 라인의 갯수를 출력하는 문제다.
입력을 받고 계산의 편의를 위해 각 가로/세로 줄의 정보를 가지는 리스트를 생성하자.
우선 가로 줄에 대해 계산을 해주자. line에는 i번째 가로줄을 담아주어야 하는데 세로줄을 계산할 때는 각 요소를 리스트 내부에 복사해야 한다. 때문에 먼저 계산하는 가로줄에서는 board[i]를 그대로 담는게 아닌, 복사를 해주어야 한다.
만약 세로줄부터 계산한다면 그냥 board[i]를 담아도 된다.
이제 각 줄이 행복한 수열을 가지는지 확인하는 함수를 생성하자.
이전 요소와 동일한지 확인해주며 연속된 부분 수열의 길이를 구하면 된다. 만약 동일한 요소가 아니라면 자기 자신이 연속된 부분 수열의 최대 길이가 되기 때문에 1로 설정해주자.
만약 cnt가 M개 이상이라면 탐색을 중단해주고 결과를 반환해주자.
소스코드
출처
'PS' 카테고리의 다른 글
코딩테스트에 대하여... (4) | 2024.11.22 |
---|---|
[코드트리] 최고의 33위치 [C/C++] for 코드트리 조별과제 (0) | 2024.07.21 |
[2024 KAKAO WINTER INTERNSHIP] 도넛과 막대 그래프 [Python] (0) | 2024.06.22 |
[2024 KAKAO WINTER INTERNSHIP] 가장 많이 받은 선물 [Python] (0) | 2024.06.21 |
[구름톤 챌린지] 17일차 - 통신망 분석 (0) | 2023.09.10 |