취업이야기

SWEA(SW Expert Academy) [d1] 2071. 평균값 구하기 (java)

경훈잉 2024. 4. 2.

이번 문제 풀이를 보면 좀 사람들이 기겁할 것 같다.오랜만에 코딩을 잡은 내 짧은 지식으로 어떻게든 꾸역꾸역 푼 문제..이렇게 배우는거지^^


문제. 2071 평균값 구하기

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QRnJqA5cDFAUq&categoryId=AV5QRnJqA5cDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

10개의 수를 입력 받아, 평균값을 출력하는 프로그램을 작성하라.

(소수점 첫째 자리에서 반올림한 정수를 출력한다.)


[제약 사항]

각 수는 0 이상 10000 이하의 정수이다.


[입력]

가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.

각 테스트 케이스의 첫 번째 줄에는 10개의 수가 주어진다.


[출력]

출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.

(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)

 

입력 출력
3
3 17 1 39 8 41 2 32 99 2
22 8 5 123 7 2 63 7 3 46
6 63 2 3 58 76 21 33 8 1   
 
#1 24
#2 29
#3 27



 


풀이

import java.util.Scanner;
import java.io.FileInputStream;

class Solution
{
	public static void main(String args[]) throws Exception
	{

		Scanner sc = new Scanner(System.in);
		int T;
		T=sc.nextInt();

		for(int test_case = 1; test_case <= T; test_case++)
		{
            int sum = 0;
            int avg = 0;
            
            // 10개 수 받아서 sum에 더하기
            for(int i = 0; i < 10; i++){
                sum += sc.nextInt();
            }            
            // 소수 첫째자리에서 반올림
            if(sum % 10 > 4) avg = sum/10 + 1;
            else avg = sum/10;
            
            System.out.println("#" + test_case + " " + avg);

		}
	}
}

 

보다시피 함수를 잘 몰라가지고 10을 나눴을때 나머지가 4를 초과하면 +1 아니라면 그대로 출력하게 했다.

무식하지만.. 내 머릿속의 함수만으로 해결됐다는 것이 가장 중요한 포인트 아닐까.. ㅋㅋㅋㅋㅋ

import java.util.Scanner;
import java.io.FileInputStream;

class Solution
{
	public static void main(String args[]) throws Exception
	{

		Scanner sc = new Scanner(System.in);
		int T;
		T=sc.nextInt();

		for(int test_case = 1; test_case <= T; test_case++)
		{
            int sum = 0;
            int avg = 0;
            
            // 10개 수 받아서 sum에 더하기
            for(int i = 0; i < 10; i++){
                sum += sc.nextInt();
            }            
            // 소수 첫째자리에서 반올림
            avg = Math.round((float)sum/10);
            
            System.out.println("#" + test_case + " " + avg);

		}
	}
}

 

그리고 Math.round라는 함수를 알게 되어 코드길이를 조금 더 줄였다.

이렇게 배우는거지 ^^


 

d1 풀었지만 찝찝했다.. 그래서 내가 이 글을 쓰는게 아닐까..!

반응형

댓글