https://www.acmicpc.net/problem/29700
문제
도은이는 동아리 문화의 날을 맞이하여 동아리원들과 함께 좌석이 행 열의 직사각형 모양으로 배치되어 있는 영화관에서 영화를 보기로 했다. 도은이는 동아리원의 유대감을 중요하게 생각하기 때문에 이미 예매가 완료된 좌석을 피해 동아리원들이 모두 가로로 이어서 앉을 수 있도록 자리를 예매하고 싶어 한다. 도은이를 도와 모든 동아리원들이 가로로 이어서 앉을 수 있도록 예매하는 경우의 수는 총 몇 가지가 있을지 구해보자. 단, 예매한 좌석은 동일하지만, 각 사람이 앉는 위치만 바뀌는 경우는 한 가지로 본다.
입력
첫째 줄에 영화관 세로줄의 개수 (1≤𝑁≤1000)과 가로줄의 개수 (1≤𝑀≤5000), 영화를 관람할 동아리원 수 (1≤𝐾≤10)가 주어진다.
둘째 줄부터 개의 줄에 걸쳐 그중 번째 줄에는 번째 열의 좌석 예매 현황이 길이 인 문자열 𝑠𝑖로 주어진다. 𝑠𝑖의 번째 문자는 열 번째 좌석의 예매 현황을 나타내는데, 이 문자가 '0'이라면 예매 가능한 빈 좌석을, 이 문자가 '1'이라면 예매가 완료되어 예매가 불가능한 좌석을 나타낸다.
출력
동아리원들이 모두 가로로 이어서 앉을 수 있도록 영화를 예매하는 경우의 수를 출력한다. 단, 문제에서 주어진 조건에 맞게 영화를 예매할 수 있는 방법이 없다면 0을 출력한다.
제출 코드
n, m, k = map(int, input().split())
seat = [list(input()) for _ in range(n)]
ans = 0
for i in range(n):
for j in range(m-k+1):
if seat[i][j:j+k] == ['0']*k:
ans += 1
print(ans)
결과

그냥 구현으로 문제 푼 듯ㅋㅋㅋㅋㅋ 두 번이나 틀린 이유는 입력예시가 n과 k의 값이 같아서 대충 머리속으로 생각한 걸 코드로 써서다...ㅎㅎ 제대로 읽고 코드에 제대로 된 변수를 넣어야겠다!
'스터디 1일 1커밋' 카테고리의 다른 글
| 240710 [BOJ/백준] 9655. 돌 게임 (0) | 2024.07.12 |
|---|---|
| 240703 [BOJ/백준] 2108. 통계학 (0) | 2024.07.03 |
| 240702 [BOJ/백준] 3986. 좋은 단어 (0) | 2024.07.02 |
| 240627 [BOJ/백준] 2156. 포도주 시식 (0) | 2024.07.01 |
| 240628 [BOJ/백준] 2559. 수열 (0) | 2024.06.28 |