반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 2547번 사탕 선생 고창영 파이썬(Python)

1) 문제번호 : 2547번

 

2) 문제 출처

https://www.acmicpc.net/problem/2547

 

2547번: 사탕 선생 고창영

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 빈 줄로 구분되어 있고, 다음과 같이 구성되어 있다. 테스트 케이스의 첫째 줄에 학생의 수 N이 주어진다. 다음 N개의 줄에는

www.acmicpc.net

 

2. 문제

사탕 박사 고창영은 사탕 공장을 그만 두고 초등학교 선생님으로 취직했다.

오늘은 창영이네 반 학생들과 소풍을 가는 날이다. N명의 학생은 모두 가방에 사탕을 가득 담아왔다.

그런데, 사탕을 많이 가져온 학생들이 사탕을 적게 가져온 학생들을 놀리기 시작했다.

창영이는 "얘들아~ 그러면 안되지ㅜㅜ 사탕을 모두 여기에 가져와보렴. 선생님이 공평하게 나눠줄게"

창영이는 모든 학생들이 같은 사탕을 가지게 하려고 한다.

이것이 가능한 일일까?

 

 

3. 제약사항

 

4. 입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 빈 줄로 구분되어 있고, 다음과 같이 구성되어 있다.

테스트 케이스의 첫째 줄에 학생의 수 N이 주어진다. 다음 N개의 줄에는 각 학생들이 가져온 사탕의 수가 주어진다.

N은 100,000보다 작거나 같은 자연수이고, 사탕의 개수는 0보다 크거나 같은 정수이다. 학생들이 가져온 사탕 개수는 10^18보다 작거나 같다. (학생들이 가져온 사탕 개수의 합은 10^18을 넘어갈 수 있다)

 

5. 출력

각 테스트 케이스에 대해 모두에게 같은 사탕을 나눠줄 수 있으면 YES를, 없으면 NO를 출력한다.

 

 

6. 풀이

- 이 문제는 빈칸을 입력 받는 부분이 있으므로, 이 부분을 입력 받아주고 사탕 총 갯수를 학생 수로 나눠서 나눠지면 YES, 안나눠지면 NO를 출력하면 된다.

 

7. 소스 코드

import sys
input=sys.stdin.readline

T = int(input()) # 테스트케이스 개수


for i in range(T) :
    temp = input() # 빈칸 입력 받기
    N = int(input())

    total = 0
    
    # 사탕 갯수 합치기
    for j in range(N) :
        total += int(input())
    
    # 사탕 갯수 학생 수로 나눠서 0이면 YES, 아니면 NO 출력
    if total % N == 0 : print("YES")
    else : print("NO")

 


 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기