Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- BFS
- java
- til
- 다이나믹프로그래밍
- 프로그래머스
- 개발자스터디
- 브루트포스
- 위상정렬
- 99일지
- 삼성청년SW아카데미
- 코딩테스트
- SSAFY수료식
- 백트래킹
- dfs
- ssafy
- 파이썬
- 알고리즘
- DP
- programmers
- python
- 싸피
- 99클럽
- 깊이우선탐색
- 너비우선탐색
- BOJ
- 자바
- 구현
- 백준
- 문자열
- 항해
Archives
- Today
- Total
EunJng
[BOJ] 1546 평균 | Java 본문
문제
백준 1546번 평균 | 브론즈1
https://www.acmicpc.net/problem/1546
1546번: 평균
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보
www.acmicpc.net
- 알고리즘 분류 : 수학 | 사칙연산
풀이 과정
자바 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
double arr[] = new double[n];
double max = 0;
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i=0; i<n; i++) {
double num = Double.parseDouble(st.nextToken());
arr[i] = num;
if(num > max) {
max = num;
}
}
double sum = 0;
for(int i=0; i<n; i++) {
sum += (arr[i] / max * 100);
}
System.out.println(sum / n);
}
}
- 모든 입력값에 대해 길이 n의 배열에 추가하며 최대값 갱신
- for문이 종료되면 모든 값이 입력되었고, 최대값이 정해졌기 때문에 sum이라는 변수에 (숫자/최대값*100)을 더한 후, 숫자의 개수인 n으로 나눈 평균 출력
- '실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답이다.' 라는 조건에 의해 int가 아닌 double형 사용
이 때, 자동 형변환이 되기 때문에 일부 값은 int로 하여도 되지만, double로 통일하였다.
'PROBLEM > BAEKJOON' 카테고리의 다른 글
[BOJ] 1005 ACM Craft | Python (0) | 2023.05.08 |
---|---|
[BOJ] 2056 작업 | Python (0) | 2023.05.08 |
[BOJ] 3052 나머지 | Java | Python (0) | 2023.05.06 |
[BOJ] 10818 최소, 최대 | Java (0) | 2023.05.06 |
[BOJ] 17825 주사위 윷놀이 | Python (1) | 2023.05.06 |