• 문제 링크
4358번: 생태학
프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Map;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Map<String, Integer> map = new TreeMap<>();
int total = 0;
String input;
while ((input = br.readLine()) != null) {
map.put(input, map.getOrDefault(input, 0) + 1);
total++;
}
for (Map.Entry<String, Integer> entry : map.entrySet()) {
double ratio = entry.getValue() * 100.0 / total;
bw.write(entry.getKey() + String.format(" %.4f", ratio) + "\n");
}
bw.flush();
}
}
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.HashMap;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Map<String, Integer> map = new HashMap<>();
int total = 0;
String input;
while ((input = br.readLine()) != null) {
map.put(input, map.getOrDefault(input, 0) + 1);
total++;
}
List<String> list = new ArrayList<>(map.keySet());
Collections.sort(list);
for (String key : list) {
double ratio = (double) map.get(key) * 100 / total;
bw.write(key + String.format(" %.4f", ratio) + "\n");
}
bw.flush();
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 1789 수들의 합 - Greedy / Java (0) | 2023.02.09 |
---|---|
[백준] 5568 카드 놓기 - Data Structure / Java (0) | 2023.02.08 |
[백준] 13335 트럭 - Data Structure / Java (0) | 2023.02.06 |
[백준] 2075 N번째 큰 수 - Data Structure / Java (0) | 2023.02.05 |
[백준] 11478 서로 다른 부분 문자열의 개수 - Data Structure / Java (0) | 2023.02.04 |
댓글