반응형
https://www.acmicpc.net/problem/2953
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<Chef> chefList = new ArrayList<>();
for (int i = 1; i <= 5; i++) {
int totalScore = 0;
for (int j = 0; j < 4; j++) {
totalScore += sc.nextInt();
}
chefList.add(new Chef(i, totalScore));
}
chefList.stream()
.sorted()
.limit(1)
.forEach(chef -> System.out.println(chef.num + " " + chef.totalScore));
}
static class Chef implements Comparable<Chef> {
int num, totalScore;
public Chef(int num, int totalScore) {
this.num = num;
this.totalScore = totalScore;
}
@Override
public int compareTo(Chef o) {
return Integer.compare(o.totalScore, this.totalScore);
}
}
}
우선 쉐프 라는 클래스를 만들어주었다.
그리고 쉐프에는 번호와 총 점수를 속성으로 가지고, 총 점수를 내림차순으로 정렬할 수 있도록 Comparable 인터페이스를 구현했다.
그 뒤, 총 점수를 입력받아 쉐프 객체를 리스트에 넣어주었고, 스트림으로 정렬 후 맨 앞의 1개만 가져와서(총 점수가 가장 많은 쉐프) 이를 forEach로 쉐프 번호와 총 점수를 출력하도록 했다.
반응형
'알고리즘 🤔' 카테고리의 다른 글
[프로그래머스 자바] 여행경로 (Lv.3) (0) | 2024.05.31 |
---|---|
[백준 자바 10811] 바구니 뒤집기 (브론즈2) (0) | 2024.05.30 |
[프로그래머스 자바] 모음사전 (Lv.2) (0) | 2024.05.28 |
[백준 자바 8979] 올림픽 (실버5) (0) | 2024.05.26 |
[프로그래머스 자바] 이중우선순위큐 (Lv.3) (0) | 2024.05.25 |