[#29700] 우당탕탕 영화예매
문제
#29700 우당탕탕 영화예매
Silver4
적용 알고리즘: X(String)
풀이 방법
- 각 줄마다 확인을 해야하기 때문에 각 줄에 몇개의 가능한 경우가 있는지 count를 해주는 함수를 만든다.
- 필요한 문자열을 미리 제작하고, 주어진 문자열을 슬라이싱하여 확인한다.
코드 흐름
- 사용자에게서 입력을 받는다.
- 입력받은 각 줄(row)에 대해서 자리 검사를 한다.
- seat_available(): 몇 개의 가능한 경우가 있는지 반환하는 함수
- 매개변수로 특정 열 좌석의 구성과, 인원수를 받는다.
- 인원수만큼의 자리를 우선 생성한다.
- 각 열의 [i:i + n]번째 인덱스가 생성한 자리와 일치하는지 확인한다. 일치한다면 cnt를 하나 증가시킨다.
- 3의 과정을 모든 row에 대해서 반복하고, 값을 출력한다.
코드
# 각 줄마다 가능한 경우 반환
def seat_available(horizon, n):
temp = "0" * n
cnt = 0
for i in range(0, len(horizon) - n + 1):
if (horizon[i:i + n] == temp):
cnt += 1
return cnt
row, col, n = map(int, input().split())
count = 0
for i in range(row):
hor = input()
count += (seat_available(hor, n))
print(count)
체감 난이도: 1.2/5