250x250
반응형
Notice
Recent Posts
Recent Comments
Link
종식당
Softeer 연습문제 성적평균 with JAVA 본문
728x90
반응형
https://softeer.ai/practice/6294
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
📝 문제 설명
첫번째줄에 N,K를 입력받으면 다음 줄에 N만큼의 성적을 입력받고 K만큼의 구간을 입력 받아 이 구간에 해당하는 점수들의 평균을 구해 소수점 셋째자리에서 반올림해서 둘째자리까지 출력하면 된다.
✨ 제출 코드
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
int [] score = new int[N];
st = new StringTokenizer(br.readLine());
for(int i = 0; i < N; i++){
score[i] = Integer.parseInt(st.nextToken());
}
StringBuilder sb = new StringBuilder();
for(int i = 0; i < K; i++){
st = new StringTokenizer(br.readLine());
int start = Integer.parseInt(st.nextToken());
int end = Integer.parseInt(st.nextToken());
double sum = 0;
for(int j = start; j <= end; j++){
sum += score[j-1];
}
//sb.append(Math.round(sum/(end-start+1) * 100)/100.0).append("\n");
sb.append(String.format("%.2f",sum/(end-start+1))).append("\n");
}
System.out.println(sb);
}
}
✌️ 코드 설명
이 문제는 어렵지 않게 풀 수 있었는데 다만 반올림을 할때 처음에는 Math.round() 를 이용하여 반올림 하였지만, 45.00, 50.00 같은 값이 45.0, 50.0으로 표시되는 문제가 생겼다. 그래서 String.format을 통해 format을 %.2f로 맞춰준다음 소수점 둘째자리까지 구했다.
그리고 출력하기 편하게 하기 위해 이 값들을 구하고 Stringbuilder에 개행까지 포함해서 담아서 이를 출력해주었다.
😎 마무리
%.2f | 소수점 2자리 고정 | 3.14 |
%.3f | 소수점 3자리 고정 | 3.142 |
%.0f | 정수만 표시 | 3 |
728x90
반응형
'Softeer' 카테고리의 다른 글
Softeer 연습문제 [한양대 HCPC 2023] Tren del Fin del Mundo (2) | 2024.11.28 |
---|---|
Softeer 연습문제 연탄 배달의 시작 (0) | 2024.11.27 |