[백준] 평균 - 1546번

2024. 5. 30. 16:25·여러가지/알고리즘 & 자료구조

[Bronze I] 평균 - 1546

문제 링크

성능 요약

메모리: 18404 KB, 시간: 260 ms

분류

사칙연산, 수학

제출 일자

2024년 5월 30일 14:04:33

문제 설명

세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.

예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.

세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.

출력

첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답이다.

코드

package 평균;

import java.util.*;
import java.util.stream.Collectors;

public class Main {

    public static void main(String[] args) {

        /**
         *  문제 : 첫줄에 학생 수를 입력받고,
         *        다음줄에 각 학생들의 점수를 공백을 기준으로 입력받아 리스트에 저장한 후, 해당 점수들을 처리하여 평균을 구하는 것 입니다.
         *
         */

        Scanner scanner = new Scanner(System.in);

        // 학생 수를 입력받습니다.
        int n = scanner.nextInt();
        scanner.nextLine();

        // 학생들의 원점수가 담긴 리스트를 생성합니다.
        List<Integer> digitList = Arrays.stream(scanner.nextLine().split(" "))
                                        .map(Integer::parseInt)
                                        .collect(Collectors.toList());


        // 원점수 리스트 중 최대값을 찾습니다.
        int max = Collections.max(digitList);

        // 점수를 세탁하여 새로운 리스트에 저장합니다. : (원래최고점수 / 원래점수[idx]) * 100
        List<Double> cleanedNumArr = new ArrayList<>(3);
        for(double num : digitList) {
            double cleanNum = ( num / max ) * 100;
            cleanedNumArr.add(cleanNum);
        }

        // 세탁된 점수들의 총합을 구합니다.
        double total = cleanedNumArr.stream().mapToDouble(num -> num.doubleValue()).sum();

        // 평균을 계산합니다.
        double answer = total / n;

        System.out.println(answer);

    }
}

 

저작자표시 (새창열림)

'여러가지 > 알고리즘 & 자료구조' 카테고리의 다른 글

[백준] 파일 정리 - 20291번  (1) 2024.05.30
[백준] 회사에 있는 사람 - 7785번  (0) 2024.05.30
[백준] 단어공부 - 1157번  (0) 2024.05.30
[백준] 상수 - 2908번  (0) 2024.05.30
[백준] 할리갈리 - 21760번  (0) 2024.05.30
'여러가지/알고리즘 & 자료구조' 카테고리의 다른 글
  • [백준] 파일 정리 - 20291번
  • [백준] 회사에 있는 사람 - 7785번
  • [백준] 단어공부 - 1157번
  • [백준] 상수 - 2908번
hyeseong-dev
hyeseong-dev
안녕하세요. 백엔드 개발자 이혜성입니다.
  • hyeseong-dev
    어제 오늘 그리고 내일
    hyeseong-dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (283)
      • 여러가지 (108)
        • 알고리즘 & 자료구조 (73)
        • 오류 (4)
        • 이것저것 (29)
        • 일기 (1)
      • 프레임워크 (39)
        • 자바 스프링 (39)
        • React Native (0)
      • 프로그래밍 언어 (39)
        • 파이썬 (31)
        • 자바 (3)
        • 스프링부트 (5)
      • 컴퓨터 구조와 운영체제 (3)
      • DB (17)
        • SQL (0)
        • Redis (17)
      • 클라우드 컴퓨팅 (2)
        • 도커 (2)
        • AWS (0)
      • 스케쥴 (65)
        • 세미나 (0)
        • 수료 (0)
        • 스터디 (24)
        • 시험 (41)
      • 트러블슈팅 (1)
      • 자격증 (0)
        • 정보처리기사 (0)
      • 재태크 (0)
        • 암호화폐 (0)
        • 기타 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬
    ecs
    spring
    Redis
    RDS
    Spring Boot
    그리디
    java
    백준
    SAA
    항해99
    프로그래머스
    OOP
    celery
    시험
    완전탐색
    Spring WebFlux
    EC2
    자바
    취업리부트
    DP
    AWS
    reactor
    docker
    FastAPI
    Python
    #개발자포트폴리오 #개발자이력서 #개발자취업 #개발자취준 #코딩테스트 #항해99 #취리코 #취업리부트코스
    Docker-compose
    mybatis
    WebFlux
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hyeseong-dev
[백준] 평균 - 1546번
상단으로

티스토리툴바