달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • react
  • 문제풀이
  • 프로그래머스
  • BOJ
  • SQL고득점Kit
  • 백준
  • 혼자공부하는SQL
  • Bronze III
  • HTML
  • 백준알고리즘
  • java algorithm
  • programmers
  • 혼공SQL
  • 자바
  • java
  • select
  • BRONZE
  • sql 문제풀이
  • MySQL
  • 알고리즘
  • 백준문제풀이
  • 혼공MySQL
  • Scanner
  • BOJ algorithm
  • 알고리즘풀이
  • math
  • SQL
  • Algorithm
  • Bronze V
  • Bronze IV

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

[백준] 사탕 선생 고창영 - 2547 Java[자바]
algorithm/백준

[백준] 사탕 선생 고창영 - 2547 Java[자바]

2023. 3. 21. 15:07


[Bronze III] 사탕 선생 고창영 - 2547

문제 링크

 

2547번: 사탕 선생 고창영

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

www.acmicpc.net

성능 요약

메모리: 41388 KB, 시간: 552 ms

분류

수학, 사칙연산, 임의 정밀도 / 큰 수 연산

문제 설명

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

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

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

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

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

이것이 가능한 일일까?

입력

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

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

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

출력

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


답 : BigInteger을 통해 계산한다. 
사탕을 학생 수로 나눈 나머지가 0인 경우 YES, 아닌 경우 NO 출력 

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);

                int t = sc.nextInt(); // 테스트 케이스 수
                for (int i = 0; i < t; i++) {
                        int n = sc.nextInt(); // 학생 수
                        BigInteger sum = new BigInteger("0"); // BigInteger 객체 생성 및 초기화
                        for (int j = 0; j < n; j++) {
                                // BigInteger 객체 sum에 입력받은 사탕의 수를 더해줌.
                                sum = sum.add(BigInteger.valueOf(sc.nextLong()));
                        }
                        // sum을 n으로 나눈 나머지가 0이면 YES를 출력
                        if (sum.mod(BigInteger.valueOf(n)).equals(BigInteger.ZERO)) {
                                System.out.println("YES");
                        } else { // sum을 n으로 나눈 나머지가 0이 아니면 NO를 출력
                                System.out.println("NO");
                        }
                }
                sc.close();
        }
}
저작자표시 비영리 변경금지 (새창열림)

'algorithm > 백준' 카테고리의 다른 글

[백준] 공백 없는 A+B - 15873 Java[자바]  (0) 2023.03.23
[백준] 등장하지 않는 문자의 합 - 3059 Java[자바]  (0) 2023.03.22
[백준] 파일 옮기기 - 11943 Java[자바]  (0) 2023.03.19
[백준] 1998년생인 내가 태국에서는 2541년생?! - 18108 Java[자바]  (0) 2023.03.18
[백준] 한글 - 11282 Java[자바]  (0) 2023.03.17
    'algorithm/백준' 카테고리의 다른 글
    • [백준] 공백 없는 A+B - 15873 Java[자바]
    • [백준] 등장하지 않는 문자의 합 - 3059 Java[자바]
    • [백준] 파일 옮기기 - 11943 Java[자바]
    • [백준] 1998년생인 내가 태국에서는 2541년생?! - 18108 Java[자바]
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바