728x90

문제

 

20291번: 파일 정리

친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를

www.acmicpc.net

 

접근 방식

각 확장자인 파일의 개수를 Map을 이용하여 카운팅하여

확장자명의 사전 순으로 개수와 같이 출력해주면 된다.

 

키를 기준으로 정렬된 상태를 유지하면 되기 때문에

TreeMap을 사용하면 효율적으로 풀 수 있다.

 

풀이

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();

		int n = Integer.parseInt(br.readLine());
		String[] name;

		TreeMap<String, Integer> map = new TreeMap<>();

		while (n-- > 0) {
			name = br.readLine().split("\\.");
			map.put(name[1], map.getOrDefault(name[1], 0) + 1);
		}

		for (String key : map.keySet()) {
			sb.append(key).append(" ").append(map.get(key)).append("\n");
		}

		System.out.println(sb);
	}
}

 

'Java > Algorithms' 카테고리의 다른 글

[백준] 12789번 : 도키도키 간식드리미  (1) 2024.04.06
[백준] 22233번 : 가희와 키워드  (0) 2024.04.04
[백준] 4358번 : 생태학  (0) 2024.04.02
[백준] 11559번 : Puyo Puyo  (0) 2024.04.01
[백준] 15686번 : 치킨 배달  (0) 2024.04.01

+ Recent posts