[백준,BOJ 4344] 평균은 넘겠지(JAVA 구현)

2020. 10. 7. 15:15·CodingTest/백준 온라인 저지(BOJ)
반응형

-해법

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
                
        int t = in.nextInt(); // 테스트 케이스 수
        int arr[], student, sum, avg, cnt; // 점수 저장 배열, 학생 수, 총점, 평균, 평균 이상의 학생 수 변수
        
        for(int i=0;i<t;i++){ // 테스트 케이스 수 반복
            student = in.nextInt(); // 학생 수 입력
            arr = new int[student]; // 학생 수 만큼 배열 생성
            // 연산에 사용될 변수들 초기화
            sum=0;
            avg=0;
            cnt=0;
            //
            for(int j=0;j<arr.length;j++) { // 학생들 점수 입력 반복
            	arr[j] = in.nextInt();
            	sum+=arr[j]; // 총점 계산
            }
            
            avg = sum / student; // 평균 계산
            
            for(int j=0;j<arr.length;j++) { // 평균점수 이상의 학생 수를 찾는 반복
            	if(arr[j]>avg) {
            		cnt++; // 평균점수 이상의 학생 수 증가
            	}
            }         
            // 평균점수 이상의 학생 비율 및 출력 포맷
            System.out.println(String.format("%.3f",(double)cnt/student * 100)+"%");
        }
        
        in.close();
    }
}

  개인적으로 이 문제에서 원하는 출력 결과는 뽑아냈지만, 마지막에 출력 과정에서 소수점 출력 포맷에 익숙하지 않아 검색을 좀 해보았다. printf()를 사용한다거나 DecimalFormat, Math.round() 등 다양한 방법이 있는데 개인적으로는 String.format()을 사용해서 출력하는 것이 편하다고 생각한다. 주의해야 할 점은 모든 계산의 과정이 정수 형태로 이루어졌기 때문에 비율을 출력 시 (double)로 캐스팅해주어야 소수점까지 제대로 표현이 된다!

저작자표시 (새창열림)
'CodingTest/백준 온라인 저지(BOJ)' 카테고리의 다른 글
  • [백준,BOJ 4673] 셀프 넘버(JAVA 구현)
  • [백준,BOJ 15596] 정수 N개의 합(JAVA 구현)
  • [백준,BOJ 8958] OX퀴즈(JAVA 구현)
  • [백준,BOJ 1546] 평균(JAVA 구현)
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    백준7576
    medium
    백준1427
    프로그래머스
    백준1260
    component-scan
    BOJ
    알고리즘
    백준7576자바
    자바
    meidum
    boj2108
    백준
    Easy
    Java
    leetcode 2236
    백준2751
    TypeScript
    boj1427
    next 14
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[백준,BOJ 4344] 평균은 넘겠지(JAVA 구현)
상단으로

티스토리툴바