문제 해석
- 첫번째부터 다섯번째 줄까지 숫자(자연수)를 입력받는다.(총 5개의 자연수)
- 입력받았다면, 해당 자연수들의 총 평균과 중간값을 찾아서 출력하면된다. (첫째 줄에 5개의 자연수의 평균, 두번째에 중간값 출력)
코드
import java.io.*;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int [] arrs = new int[5];
int sum = 0;
for(int i = 0; i < 5; i++){
arrs[i] = Integer.parseInt(br.readLine());
sum += arrs[i];
}
br.close();
Arrays.sort(arrs);
bw.write(sum/5 +"\n" + arrs[2]);
bw.flush();
bw.close();
}
}
- 이 문제는 어려운 문제는 아니여서 주석으로 간단하게 설명을 작성해두었다.
결과
느낀점
- 문제를 풀고 다른 분이 작성한 코드 중에 시간이 자신보다 빠른 것을 보는데 C++을 사용할 경우 0ms가 나온 것을 보고 왜 C++은 왜이리 빠를까하고 찾았는데 C++은 직접 컴파일 방식이고 기계어 명령어에 1대1 대응되니까 속도가 빠르다 라고 한다. 즉 C++은 속도가 빠르고 기계어게 가장 가까운 언어이기 때문에 빠르고, JAVA의 경우는 가상머신이 중간에 끼게 되면서 속도 차이가 나는 것을 알아갈 수 있었다.