백준 14725 java : TreeMap 연습

magicdrill·2024년 11월 12일
0

백준 문제풀이

목록 보기
485/655

백준 14725 java : TreeMap 연습

처음에는 Stack, Queue를 사용해 보려 했는데 TreeMap으로 방향을 바꿨다. stack, queue 대신 treemap을 사용한 이유는 treemap은 자동으로 사전순으로 정렬해주기 때문이다.
TreeMap 또한 사용해본 경험이 없어서 다시 정리가 필요하다.

import java.util.*;

public class bj14725 {
    static Scanner scanner = new Scanner(System.in);
    static TreeMap<String, Object> tunnelMap = new TreeMap<>();

    public static void main(String[] args) {
        inputData();
        findAnswer();

        scanner.close();
    }

    public static void inputData(){
        System.out.println("inputData()");
        int i, j, N, T;
        String food;

        N = scanner.nextInt();
        for(i = 0; i < N; i++){
            T = scanner.nextInt();
            TreeMap<String, Object> currentMap = tunnelMap;
            for(j = 0; j < T; j++){
                food = scanner.next();
                currentMap.putIfAbsent(food, new TreeMap<String, Object>());
                currentMap = (TreeMap<String, Object>) currentMap.get(food);
            }
        }
    }

    public static void findAnswer() {
        System.out.println("findAnswer()");

        System.out.println("printTunnelMapByRecurssion()");
        printTunnelMapByRecurssion(tunnelMap, 0);
    }

    public static void printTunnelMapByRecurssion(Map<String, Object> map, int depth){

        for (String key : map.keySet()) {
            for (int i = 0; i < depth; i++) System.out.print("--");
            System.out.println(key);

            printTunnelMapByRecurssion((Map<String, Object>) map.get(key), depth + 1);
        }
    }

}

0개의 댓글