알고리즘 풀이/백준

[백준][Java] 4358번 생태학 (트리맵, 문자열)

배게 2021. 10. 6. 18:34
728x90

(input=br.readLine())!=null

(String.format("%.4f",e.getValue()*100.0/tot) (n번째 소수점까지 출력)

빼고는 뭐 없는 문제임

 

이게 왜 골드5

해시맵이랑 트리맵이나 비교해서 한번 더 공부하는 것이 더욱 이로움

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Map.Entry;
import java.util.TreeMap;
 
 
public class Main {
    
    private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
 
    public static void main(String[] args) throws IOException{
        TreeMap<String, Integer> tm = new TreeMap<>();
        String input;
        int tot = 0;
        
        
        
        while((input=br.readLine())!=null) {
            int temp = tm.getOrDefault(input, 0)+1;
            tm.put(input, temp);
            tot++;
        }
        
        for (Entry<String,Integer> e : tm.entrySet()) {
            bw.write(e.getKey()+" "+String.format("%.4f",e.getValue()*100.0/tot)+"\n");
        }
        
        bw.write("");
        bw.flush();
        bw.close();
    }
    
 
    private static int stoi(String input) {
        return Integer.parseInt(input);
    }
}
cs