문제(출처: https://www.acmicpc.net/problem/9979)
< Does This Make Me Look Fat? >
문제 풀이
몸무게 내림차순으로 정렬한다.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;
public class _9979_ { // Does This Make Me Look Fat?
static class Info implements Comparable<Info> {
private String name;
private int weight;
public Info(String name, int weight) {
this.name = name;
this.weight = weight;
}
@Override
public int compareTo(Info o) {
return o.weight - this.weight;
}
}
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
String str = "";
while ((str = bf.readLine()) != null) {
String temp = "";
ArrayList<Info> list = new ArrayList<>();
while (!(temp = bf.readLine()).equals("END")) {
st = new StringTokenizer(temp);
String name = st.nextToken();
int days = Integer.parseInt(st.nextToken());
int weight = Integer.parseInt(st.nextToken());
list.add(new Info(name, weight - days));
}
Collections.sort(list);
for (int i = 0; i < list.size(); i++) {
bw.write(list.get(i).name + "\n");
}
bw.write("\n");
}
bw.flush();
}
}
변수)
str : 시작 입력
temp : 정보 입력
list : Info를 저장하는 ArrayList
name, days, weight : 이름, 날짜, 몸무게
Info
name, weight를 변수로 가지며 weight 내림차순으로 정렬한다.
Main
입력이 없을 때까지 계속해서 입력받는다. END가 아니라면 name, days, weight를 입력받아 list에 저장한다. list를 정렬하여 출력한다.
'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글
[Baekjoon] 31307_Lines Per Hour (0) | 2025.01.07 |
---|---|
[Baekjoon] 5104_NoMoPhobia (0) | 2025.01.06 |
[Baekjoon] 27035_Bovine Ballroom Dancing (0) | 2024.12.24 |
[Baekjoon] 13281_Look for the Winner! (0) | 2024.12.23 |
[Baekjoon] 21208_Gratitude (1) | 2024.12.20 |