본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1707 : 10명의 점수 평균

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1707 10명의 점수 평균 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

10명의 점수를 입력받는다.(점수의 범위는 0~100이다.)

출력

첫줄에 평균을 출력하고, 다음 줄에 평균이상인 사람의 수와 평균미만인 사람의 수를 출력한다.
평균은 소수 첫째자리까지 출력한다.

예시

  • 입력 : 35 26 70 65 89 97 100 15 43 85
  • 출력 :

62.5
6 4

Solution (풀이)

  • 풀이 : 메모리 11292, 시간 : 69
public class Answer1 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        int[] score = new int[10]; // 10명의 점수를 받기로 했기때문에 길이 10으로 초기화
        // 총점 total 변수 초기화
        double total = 0.0; // double타입으로 하여야 추후 평균을 구할 때 소수점까지 표기 

        for (int i=0; i<10; i++) {
            int grade = Integer.parseInt(st.nextToken()); // 토큰에서 하나씩 꺼내어 형변환 후 저장 
            total += grade;    // 토탈에 더해주기
            score[i] = grade;
        }

        double avg = total/10.0; // 평균 구하기
        sb.append(avg).append("\n");

        int higher = 0;
        for (int i=0; i<10; i++) {
            if (score[i]>=avg) {
                higher++; // 배열에 값을 하나씩 꺼내어 평균 이상인지 체크
            }
        }

        sb.append(higher).append(" ").append(10-higher);
        System.out.println(sb);
    }

}

Ranking(순위)

반응형