(26최신)메뉴 리뉴얼.

·2026년 5월 2일

알고 문제 해결 전략

// 내가 놓친 부분
        // 1. ORDERS 의 문자열은 모두 정렬되어 있겠지?
        // 2. 문제를 제대로 안읽어서 제한 사항에서
            // 마지막 answer 도 정렬값으로 해야 한다는 것이다.
    
    
    // 1. 각 손님들이 주문한 메뉴를 가지고 조합을 해야한다.
        // nCr = n! / r! * (n - r)! 
            // orders.size() C course.size 만큼 진행.
    
        // 10C1 ,, ~~ 10C5 ~~ 10C10
        // 10C5 -> 10!/ 5! * 5! 
        // 10 9 8 7 6 -> 10만.
    
        // 10만 / 5 4 3 2 1 (120)
        // -> 1000 결론
    
    // 2. for문 돌려서 모든 손님들의 숫자까지 진행
        // orders.size() : 20
    
    // 3. : 1번과 2번 합하면 200만. 
    
    // 4번. 조합으로 만들수 있는 개수 : 10개이므로. 
        // -> 조합 몇번할지.
    
    // 5번 : 20만.
        // 3번과 4번 처리를 하더라도 시간복잡도 문제 없다. 
    
    
    // 문제 해결전략
    
    // 1번 : course에서 몇개의 문자를 가지고 할건지를 가지고 옴
    // target이라고 하자.
    
    // 2번 : 각사람마다의 조합을 만들자. 
        // 만약에 target이 2라고 한다면 
        // ABCFG 에서 2자리의 조합을 만든다는 것이다. 
    
        // unordered_map을 사용할까?? 
    
    // map의 insert는 최악 1이라고 하므로
    // 20만의 시간복잡도 이고, 
    
    // 문자열 10줄은 10바이트 이고, 
        // 200만 바이트의 공간이 필요하지 않나? 
    
    // 1MB 는 100만 글자이므로
        // 2MB 이다.
    
    //진짜 결론:공간 복잡도 때문에 문제가 생길 확률은 0%에 가깝습니다. C++은 메모리 관리가 워낙 타이트해서 사용자님이 걱정하시는 것보다 훨씬 적은 용량으로 이 문제를 해결할 수 있습니다.

구글링 정리

언어에 약하다.

profile
🔥🔥🔥

0개의 댓글