백준 20291 - 파일 정리

Updated:

Java

20291 번 - 파일 정리

문제

접근 방법

split으로 확장자를 분리하고 Map으로 개수를 센다.
Map을 List로 변환하고 사전순으로 정렬.

코드

import java.util.*;
import java.util.Map.Entry;
import java.io.*;

public class Main {
	static int n, result;
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	n = stoi(br.readLine());

    	Map<String, Integer> map = new HashMap<>();

    	String extend;
    	String[] str;
    	while(n-- != 0) {
    		str = br.readLine().split("\\.");
    		extend = str[1];

    		if(map.containsKey(extend))
    			map.put(extend, map.get(extend) + 1);
    		else
    			map.put(extend, 1);
    	}

    	List<Entry<String, Integer>> entry = new ArrayList<>(map.entrySet());
    	Collections.sort(entry, (o1, o2)->{
    		return o1.getKey().compareTo(o2.getKey());
    	});

    	for(int i = 0; i < entry.size(); i++) {
    		System.out.print(entry.get(i).getKey() + " ");
    		System.out.println(entry.get(i).getValue());
    	}

    	br.close();
	}

	static int stoi(String str) {
    	return Integer.parseInt(str);
    }
}

총평

후기

간단한 탐색 문제였다.

개선할 점