녕의 학습 기록
백준_1546 평균 구하기 (배열) 본문
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BJ_1546 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
int sum = 0;
int max = 0;
int temp;
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
for(int i=0; i<n; i++) {
temp = Integer.parseInt(st.nextToken());
sum += temp;
if(temp>max)
max = temp;
}
System.out.println(sb.append(sum*100.0/n/max));
}
}
sum 과 max 변수에 값이 제대로 들어왔음에도 자꾸 다른 출력 값이 나와 잠시 헤맸었다.
원인은 마지막 sum*100.0/n/max 부분에서 * 100을 해주었기 때문.
100.0을 해주지 않으니 int 형으로만 계산되며 소수점은 버려지고 몫만 나오게 된다.
1546번: 평균
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보
www.acmicpc.net
'Algorithm > Algorithm 문제' 카테고리의 다른 글
백준_2018 수들의 합 5 (투포인터) (0) | 2023.11.22 |
---|---|
백준_10986 나머지 합 (구간합배열) (0) | 2023.11.21 |
백준_11660 구간 합 구하기 5 (구간합배열) (0) | 2023.11.20 |
백준_11659 구간 합 구하기 4 (구간합배열) (0) | 2023.11.18 |
백준_11720 숫자의 합 구하기 (배열) (0) | 2023.11.17 |