728x90
반응형
문제:
찬솔이는 블로그를 시작한 지 벌써 일이 지났다.
요즘 바빠서 관리를 못 했다가 방문 기록을 봤더니 벌써 누적 방문 수가 6만을 넘었다.
찬솔이는 일 동안 가장 많이 들어온 방문자 수와 그 기간들을 알고 싶다.
찬솔이를 대신해서 일 동안 가장 많이 들어온 방문자 수와 기간이 몇 개 있는지 구해주자.
입력:
첫째 줄에 블로그를 시작하고 지난 일수 와 가 공백으로 구분되어 주어진다.
둘째 줄에는 블로그 시작 일차부터 일차까지 하루 방문자 수가 공백으로 구분되어 주어진다.
출력:
첫째 줄에 일 동안 가장 많이 들어온 방문자 수를 출력한다. 만약 최대 방문자 수가 0명이라면 SAD를 출력한다.
만약 최대 방문자 수가 0명이 아닌 경우 둘째 줄에 기간이 몇 개 있는지 출력한다.
풀이방법:
X만큼의 구간을 슬라이딩 하면서 최댓값을 갱신하고, 최댓값이랑 같은 경우에는 기간을 증가시켜준다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
N, X = map(int, input().split())
visit = list(map(int, input().split()))
total = sum(visit[:X])
answer = total
count = 1
for i in range(X, N):
total+=visit[i]
total-=visit[i-X]
if total > answer:
count = 1
answer = total
elif total == answer:
count += 1
if answer!=0:
print(answer)
print(count)
else:
print("SAD")
|
cs |
문제링크:
https://www.acmicpc.net/problem/21921
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[BOJ] 20920. 영단어 암기는 괴로워 (0) | 2023.07.19 |
---|---|
[Programmers] Lv 2. 연속된 부분 수열의 합 (0) | 2023.07.18 |
[Programmers] Lv 2. 롤케이크 자르기 (0) | 2023.07.14 |
[BOJ] 1111. IQ Test (0) | 2023.07.13 |
[BOJ] 2002. 추월 (0) | 2023.07.12 |