난이도: Silver 5
프로그래밍 언어: Java
문제명: 점수 계산
푼일자: 2021년 8월
주소: https://www.acmicpc.net/problem/2822
문제풀기
크게 어렵지 않았고, 처음에 문제를 완전히 이해하지 못해서 이상하게 풀이를 진행하였었다.
재미있게 풀은 문제였다 :)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
import java.util.stream.Collectors;
public class question_2822 { // 점수 계산
public static void main(String[] args) throws IOException {
var br = new BufferedReader(new InputStreamReader(System.in));
var score = new int[8];
for (var i = 0; i < 8; i++) score[i] = Integer.parseInt(br.readLine());
var scoreSort = Arrays.stream(score).boxed().toArray(Integer[]::new);
Arrays.sort(scoreSort, Collections.reverseOrder());
var mostFive = Arrays.copyOfRange(scoreSort, 0, 5);
System.out.println(Arrays.stream(mostFive).mapToInt(Integer::intValue).sum());
var list = Arrays.stream(score).boxed().collect(Collectors.toList());
var indexSort = new Integer[5];
for (var i = 0; i < 5; i++) indexSort[i] = list.indexOf(mostFive[i]) + 1;
Arrays.sort(indexSort);
System.out.print(Arrays.toString(indexSort).replaceAll("[^0-9 ]", ""));
}
}
생각보다 빠르다 :)
해당 문제 Commit : https://github.com/Kuass/algorithm-study/commit/7974598f2ef9d309a9300de7bac74e0007603afd
반응형