일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- java #자바
- 백준 #알고리즘 #파이썬 #코딩테스트
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- 백트랙킹
- 다익스트라
- 투포인터
- css #웹 #생활코딩
- 재귀
- PYTHON
- java #자바 #생활코딩
- 다이나믹프로그래밍
- react #리액트 #동빈나
- 자바 #java
- dp
- BFS
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- 백준 #파이썬 #알고리즘 #코딩테스트
- react #리액트 #동빈나 #나동빈 #유튜브강의
- css #생활코딩 #웹
- Dijkstra
- java #자바 #나동빈
- 알고리즘
- java #자바 #동빈나
- 백준
- 코딩테스트
- 파이썬
- 파이썬 #백준 #알고리즘 #코딩테스트
- DFS
- 프로그래머스
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
Archives
- Today
- Total
커리까지
[백준] 15565번 귀여운 라이언 파이썬 본문
728x90
SMALL
문제
꿀귀 라이언 인형과, 마찬가지로 꿀귀인 어피치 인형이 N개 일렬로 놓여 있다. 라이언 인형은 1, 어피치 인형은 2로 표현하자. 라이언 인형이 K개 이상 있는 가장 작은 연속된 인형들의 집합의 크기를 구하여라.
입력
첫 줄에 N과 K가 주어진다. (1 ≤ K ≤ N ≤ 106)
둘째 줄에 N개의 인형의 정보가 주어진다. (1 또는 2)
출력
K개 이상의 라이언 인형을 포함하는 가장 작은 연속된 인형들의 집합의 크기를 출력한다. 그런 집합이 없다면 -1을 출력한다.
예제 입력 1
10 3
1 2 2 2 1 2 1 2 2 1
예제 출력 1
6
제출 답안
'''
1. 아이디어
- 라이언의 위치를 먼저 구한다.
- k개의 묶음으로 비교한다.
2. 시간 복잡도
-
3. 변수
- num []
- lion []
'''
import sys
input = sys.stdin.readline
n, k = map(int, input().split())
num = list(map(int, input().split()))
answer = sys.maxsize
lion = [ idx for idx, val in enumerate(num) if val == 1]
start ,end = 0, k-1
while end < len(lion):
cnt = lion[end] - lion[start] + 1
answer = min(answer, cnt)
start +=1
end += 1
print(-1 if len(lion) < k else answer)
728x90
LIST
'알고리즘 > 풀이' 카테고리의 다른 글
[백준] 7795번 먹을 것인가 먹힐 것인가 파이썬 (1) | 2023.01.28 |
---|---|
[백준] 2003번 수들의 합 2 파이썬 (0) | 2023.01.27 |
[백준] 20922번 겹치는 건 싫어 파이썬 (0) | 2023.01.25 |
[백준] 2531번 회전 초밥 파이썬 (0) | 2023.01.20 |
[백준] 2559번 수열 파이썬 (0) | 2023.01.19 |
Comments