계단을 오르듯이

20291. 파일 정리 본문

알고리즘/백준_JAVA

20291. 파일 정리

happyAyun 2021. 12. 30. 12:33
  • TreeMap : 자동정렬
  • 본인은 HashMap을 사용하여 풀이하였지만, 자동 정렬을 해주는 TreeMap을 사용하여도 된다.
  • StringTokenizer(in.readLine(), "."); 
  • StringTokenizer을 이용하여 확장자를 알 수 있다.
  • 본인은 substring()을 이용하여 확장자를 구하였다.
package december.second;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class B_20291_파일정리 {

	// TreeMap : 자동정렬
	public static void main(String[] args) throws Exception {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		int N = Integer.parseInt(in.readLine());
		Map<String, Integer> map = new HashMap<String, Integer>();
		for (int i = 0; i < N; i++) {
			String file = in.readLine();
			int dotIdx = file.lastIndexOf("."); // . 인덱스 구하기
			String extend = file.substring(dotIdx + 1); // . 다음부터 확장자
			if (map.containsKey(extend)) {
				int cnt = map.get(extend);
				map.put(extend, cnt + 1);
			} else {
				map.put(extend, 1);
			}
		}
		Object[] mapKey = map.keySet().toArray();
		Arrays.sort(mapKey);

		for (Object key : mapKey) {
			sb.append(key + " " + map.get(key) + "\n");
		}
		System.out.println(sb);
	}

}

 

'알고리즘 > 백준_JAVA' 카테고리의 다른 글

20154. 이 구역의 승자는 누구야  (0) 2021.12.31
1912. 연속합  (0) 2021.12.31
20436. ZOAC3  (0) 2021.12.30
21318. 피아노 체조  (0) 2021.12.30
16954. 움직이는 미로 탈출  (0) 2021.12.30