알고리즘 문제 풀이: 파이썬/BOJ

[BOJ_21921] 블로그

hueco 2022. 8. 16.

 

📌 문제 링크: https://www.acmicpc.net/problem/21921

 

21921번: 블로그

첫째 줄에 $X$일 동안 가장 많이 들어온 방문자 수를 출력한다. 만약 최대 방문자 수가 0명이라면 SAD를 출력한다. 만약 최대 방문자 수가 0명이 아닌 경우 둘째 줄에 기간이 몇 개 있는지 출력한다

www.acmicpc.net

 

내 풀이(Success) :

 

🧐 Review:

  이 문제는 약 5개월 전인 3월 5일에 풀어보려고 했으나 틀렸던 문제다. 그때 당시 풀이를 확인하지 않고 다음에 다시 풀어보겠다는 생각에 넘어갔었고 꽤 시간이 흘렀지만 이 문제를 풀기 위한 알고리즘을 공부하고 다시 풀어보니 어렵지 않게 해결할 수 있었다.

 문제를 풀고 나서 다른 사람들의 풀이를 찾아보니 누적 합과 슬라이딩 윈도우를 사용한 풀이가 많았다. 내 풀이는 누적 합만을 이용한 풀이라서 다음에는 슬라이딩 윈도우 알고리즘을 공부해보고 다른 문제에 적용해봐야겠다.

 

🚩 Idea:

 - 최대 방문자 수가 0일 때, 'SAD'를 출력하고, 해당 경우가 아니라면 X일 동안 가장 많이 들어온 방문자 수를 체크한다.

 - 누적 합을 이용해서 각 데이터마다 누적해서 방문자수를 구하고, 전체 N일 동안 X개의 구간에서의 구간 합을 구해 리스트에 추가한다.

 - 최대 방문자 수를 max() 함수를 이용해서 구하고, 해당 구간이 리스트에 몇 개나 존재하는지 count() 함수를 이용해서 구하고 해당 값들을 결괏값으로 출력한다.

 

 

 
 

'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글

[BOJ_14916] 거스름돈  (0) 2022.08.21
[BOJ_16953] A -> B  (0) 2022.08.20
[BOJ_11659] 구간 합 구하기 4  (0) 2022.08.15
[BOJ_4963] 섬의 개수  (0) 2022.08.15
[BOJ_7562] 나이트의 이동  (0) 2022.08.14

댓글