- [소프티어] 성적평균2025년 01월 23일 22시 24분 18초에 업로드 된 글입니다.작성자: do_hyuk
https://softeer.ai/practice/6294#pop_user
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
이번 문제는 어려운 알고리즘이 존재하진 않았다고 생각하고 배울만한 점은 StringTokenizer 선언하는 위치에 대해 확실하게 알게된 점이랑 소수점 반올림 방식 중 String.format("%.nf", 숫자) 을 사용하여 소수점 n의 자리까지 표현 가능한 것을 배웠다.
전체 코드
import java.io.*; import java.util.*; public class Main { private static int[] grades; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()," "); int N = Integer.parseInt(st.nextToken()); int K = Integer.parseInt(st.nextToken()); st = new StringTokenizer(br.readLine(), " "); grades = new int[N]; for (int n=0; n<N; n++) { grades[n] = Integer.parseInt(st.nextToken()); } for (int k=0; k<K; k++) { st = new StringTokenizer(br.readLine(), " "); int A = Integer.parseInt(st.nextToken()); int B = Integer.parseInt(st.nextToken()); String avg = String.format("%.2f", calculator(A,B)); bw.write(avg); bw.newLine(); } bw.flush(); bw.close(); } private static double calculator(int A, int B) { int sum = 0; int cnt = B-A+1; for (int i=A-1; i<B; i++) { sum += grades[i]; } return (double) sum /cnt; } }
'코딩문제' 카테고리의 다른 글
[소프티어] 출퇴근길 (1) 2025.02.03 [소프티어] 징검다리 (0) 2025.01.24 [소프티어] GPT식 숫자 비교 (1) 2025.01.22 [백준] 퇴사 - 14501 (0) 2025.01.10 [백준] N과 M (4) - 15652 (0) 2025.01.09 댓글