BOJ

백준 20291 - 파일 정리

yanJuicy 2022. 2. 1. 04:47
반응형

문제

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

 

20291번: 파일 정리

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

www.acmicpc.net

 

 

풀이

확장자만 가져오기 위해 substring 메소드를 사용한다. 

확장자를 오름차순으로 정렬 후 앞에서 부터 개수를 세면 된다.

 

 

코드

 

java

import java.util.Arrays;
import java.util.Scanner;

public class Main {

    static int N;
    static String[] arr;
    static StringBuilder sb = new StringBuilder();

    public static void main(String[] args) {
        input();
        solve();
    }

    private static void solve() {
        Arrays.sort(arr);
        int cnt = 1;
        for (int i = 1; i < N; i++) {
            if (arr[i].equals(arr[i - 1])) {
                cnt++;
            } else {
                sb.append(arr[i - 1] + " " + cnt + "\n");
                cnt = 1;
            }

            if (i == N - 1)
                sb.append(arr[i] + " " + cnt + "\n");
        }
        System.out.println(sb.toString());
    }

    private static void input() {
        Scanner sc = new Scanner(System.in);
        N = sc.nextInt();
        arr = new String[N];
        for (int i = 0; i < N; i++) {
            String str = sc.next();
            arr[i] = str.substring(str.indexOf('.') + 1);
        }

        sc.close();
    }
}

 

 

반응형

'BOJ' 카테고리의 다른 글

백준 7795 - 먹을 것인가 먹힐 것인가  (0) 2022.02.03
백준 15970 - 화살표 그리기  (0) 2022.02.02
백준 1015 - 수열 정렬  (0) 2022.01.31
백준 11286 - 절댓값 힙  (0) 2022.01.28
백준 2164 - 카드2  (0) 2022.01.25