T-coding
백준 3186 소변기 / Python 본문
728x90
728x90
https://www.acmicpc.net/problem/3186
3186번: 소변기
입력의 첫 번째 줄은 세 정수 K, L, N (1 ≤ K, L ≤ 1000, 1 ≤ N ≤ 10,000)이 있다. 두 번째 줄은 0과 1로 이루어진 길이 N의 수열이 주어진다. 이것은 주어진 시간에 센서가 기록하는 데이터를 나타낸다
www.acmicpc.net
코드
더보기
import re
k, l, n = map(int, input().split())
s = input()
arr = [st.end() - 1 for st in re.finditer('1' * k, s)]
ans = []
if len(arr) == 0:
print("NIKAD")
exit()
for i in range(len(arr) - 1):
if s[arr[i] + 1: arr[i + 1]].find('0' * l) != -1:
ans.append(s[arr[i] + 1: arr[i + 1]].find('0' * l) + l + arr[i] + 1)
if s[arr[len(arr) - 1] + 1:].find('0' * l) != -1:
ans.append(s[arr[len(arr) - 1] + 1:].find('0' * l) + l + arr[len(arr) - 1] + 1)
else:
ans.append(s.rfind('1') + 1 + l)
for a in ans:
print(a)
728x90
300x250
'Baekjoon' 카테고리의 다른 글
백준 5397 키로거 / Python (0) | 2023.03.20 |
---|---|
백준 4198 열차정렬 / Python (0) | 2023.03.20 |
백준 14467 소가 길을 건너간 이유 1 (0) | 2023.03.19 |
백준 3024 마라톤 틱택토 / Python (0) | 2023.03.19 |
백준 2784 가로 세로 퍼즐 / Python (0) | 2023.03.18 |