여니의 취준 준비/코딩테스트 (Java)

[20291] 파일 정리 in Java

여니's 2022. 8. 3. 08:16

https://www.acmicpc.net/problem/20291

 

20291번: 파일 정리

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

www.acmicpc.net


 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Iterator;
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));
		int n=Integer.parseInt(br.readLine());
		Map<String,Integer> map=new TreeMap(); // 자동 오름차순 정렬을 위해 TreeMap 사용
		for (int i = 0; i < n; i++) {
			String temp=br.readLine(); // 한줄 입력받기
			temp=temp.substring(temp.indexOf(".")+1); // 확장자 떼어내기
			if(map.get(temp)==null) { // 확장자가 딕셔너리에 등록이 안 되어 있는 경우
				map.put(temp, 1); // 등록
			}else { // 확장자가 이미 딕셔너리에 등록이 되어 있는 경우
				map.put(temp, map.get(temp)+1); // +1
			}
		}
		for (Map.Entry<String, Integer> element : map.entrySet()) {
			System.out.println(element.getKey()+ " " + element.getValue());
		}
	}
}

 

(참고)

TreeMap 형태로 선언한 뒤

put을 이용하여 데이터를 넣으면,

자동으로 오름차순 정렬이 된다.

'여니의 취준 준비 > 코딩테스트 (Java)' 카테고리의 다른 글

[SWEA] 1873. 상호의 배틀필드 in Java  (0) 2022.08.03
[17413] 단어뒤집기2 in Java  (0) 2022.08.03
[SWEA] 1210. Ladder1  (1) 2022.08.02
[SWEA] 1208. Flatten  (0) 2022.08.02
[4396] 지뢰찾기 in Java  (0) 2022.08.01