프로그래밍/백준

[알고리즘] 백준 25576 파이썬 - 찾았다 악질

매 석 2022. 10. 19. 21:11
반응형

 

 

25576번: 찾았다 악질

구수한 욕설과 귀여운 동남권 사투리가 매력인 인기 스트리머 랄파는 오늘도 열심히 게임 방송을 한다. 랄파는 과거 게임 최상위 랭커를 달성했던 빛나는 시절이 있었으나, 현재는 실력이 많이

www.acmicpc.net

문제

구수한 욕설과 귀여운 동남권 사투리가 매력인 인기 스트리머 랄파는 오늘도 열심히 게임 방송을 한다. 랄파는 과거 게임 최상위 랭커를 달성했던 빛나는 시절이 있었으나, 현재는 실력이 많이 줄어들어 매일매일 악질 시청자의 훈수와 싸우고 있다. 랄파 방송을 오랫동안 봐온 당신은, 어느 날 한 가지 엄청난 사실을 발견했다. 바로 악질 시청자들이 랄파와 사이가 좋지 않은 스트리머들을 다수 구독하고 다닌다는 사실이었다. 클린한 랄파의 방송을 위해 당신은 직접 정의를 행하고자 이들을 모두 찾아내기로 한다.

랄파가 방송하는 플랫폼인 샌드위치TV는 서로 친한 스트리머들의 시청자 변화 추이가 비슷하다는 특징이 있다. 그리고, 특정한 기간 내 각 시청자 차이의 합이 2000이 넘어갈 경우 서로 사이가 좋지 않다는 것을 알고 있다.

예를 들어 스트리머 A, B, C의 시간별 시청자 변화 추이가 아래와 같다고 한다.

  • A : 1000,2000,3000
  • B : 1100,2200,2800
  • C : 3000,1000,4000

A와 B의 기간 내 시청자 차이의 합은 100 + 200 + 200 = 500이고, A와 C의 기간 내 시청자 차이의 합은 2000+1000+1000=4000이다. 따라서 A와 B는 시청자 차이의 합이 2000이하이므로 서로 사이가 좋고, A와 C는 시청자 차이의 합이 2000보다 크므로 서로 사이가 나쁘다.

특정 시청자가 구독한 스트리머들 중 랄파를 제외했을 때 구독한 스트리머들의 절반 이상이 랄파와 사이가 좋지 않은 스트리머라면, 그 시청자는 악질 시청자이다.

어느 시청자가 구독한 랄파를 포함한 스트리머들의 시청자 변화 추이가 주어질 때, 해당 시청자가 악질 시청자인지 판단하는 프로그램을 작성하시오.

 

문제풀이

import sys
N,M = map(int,input().split())
a = list(map(int,sys.stdin.readline().split()))
cnt = 0
for i in range(N-1):
    sum = 0
    b = list(map(int,sys.stdin.readline().split()))
    for j in range(M):
        sum += abs(a[j]-b[j])
    #악질이면 +1
    if(sum>2000):
        cnt +=1
#랄파를 제외한 스트리머
N = N-1
#과반수 이상이면
if(cnt>=(N/2)):
    print("YES")
else:
    print("NO")

 

이번 문제는 상당히 재밌었습니다.

트위치TV의 랄로와 파카를 명시하는 듯한 문제로,

인터넷 용어인 "악질 시청자"를 찾아서 해결하는 문제였습니다.

이외에도 게임 "리그 오브 레전드"와 관련된 문제도 있는 등

우리 일상 속의 다양한 소재로 문제의 재미를 더 해주고 있습니다.