[WIL_Carrotww] 9/12 ~ 9/16

μœ ν˜•μ„Β·2022λ…„ 9μ›” 19일
0

TIL

λͺ©λ‘ 보기
16/138
post-thumbnail

πŸ“9μ›” μ€‘μˆœ

🧲 일주일 μš”μ•½

πŸ” μ•Œκ³ λ¦¬μ¦˜ 자료 ꡬ쑰에 λŒ€ν•΄ κ΅¬ν˜„ν•˜λ©° λ³΅μŠ΅ν•˜μ˜€λ‹€.
πŸ” μŠ€νƒ, 큐, 해쉬, 트리, νž™, DFS, BFS 등을 κ°€λ³κ²Œ κ΅¬ν˜„ν•΄ 보며 λ™μž‘ 방식을 μ΄ν•΄ν•˜κ³  μ‚¬μš©λ§Œ ν•˜μ˜€μ§€λ§Œ, κ°•μ˜λ₯Ό λ“€μœΌλ©° κ΅¬ν˜„μ„ ν•΄λ³΄λ‹ˆ 머리속에 잘 남고 λ‚˜λ¦„ μž¬λ―Έμžˆμ—ˆλ‹€ γ…Ž

🧲 μ•Œκ³ λ¦¬μ¦˜

πŸ” μ›λž˜λŠ” Dynamic Programming 을 μœ„μ£Όλ‘œ 문제λ₯Ό ν’€λ € ν–ˆμ§€λ§Œ μ–΄λ €μš΄ 문제λ₯Ό μ§‘μ€‘ν•΄μ„œ λͺ‡ 개 ν‘ΈλŠ” 것 λ³΄λ‹€λŠ” λ‹€μ–‘ν•˜κ²Œ Level 1~2 μ •λ„μ˜ 문제λ₯Ό 많이 μ ‘ν•˜μ˜€λ‹€.

🧲 μ£Όκ°„ μ•Œκ³ λ¦¬μ¦˜ 문제

πŸ”— Programmers 메뉴 리뉴얼 Level2 - python

πŸ” 문제λ₯Ό μ ‘ν•˜κ³  μ½μ—ˆμ„λ•Œ μ–΄λ–€ μ‹μœΌλ‘œ μ ‘κ·Όν•˜μ—¬ ν’€ 지 감이 작힌 λ¬Έμ œμ˜€λ‹€.

  • 일단 λͺ‡ 가지 μ½”μŠ€ 쀑 κ²ΉμΉ˜λŠ” 메뉴λ₯Ό 골라야 ν•˜κΈ° λ•Œλ¬Έμ— Combinations λ₯Ό μ‚¬μš©ν•˜μ—¬ ν’€λ €κ³  ν–ˆμ§€λ§Œ sort 와 메뉴λ₯Ό λ‹€ κ³ λ₯Έ ν›„ κ°€μž₯ 많이 골랐던 것을 처리 ν•˜λŠ” κ³Όμ •μ—μ„œ 잘 μ•ˆλΌ μ‹œκ°„μ΄ 걸렸던 λ¬Έμ œλ‹€ γ… 
from itertools import combinations
from collections import defaultdict

def solution(orders, course):
    result = [] # return κ²°κ³Ό κ°’ μ €μž₯
    for cnt in course:
        temp = defaultdict(int)
        for menu in orders:
            for com in combinations(sorted(menu), cnt):
                temp[com] += 1
        if temp.values():
            max_val = max(list(temp.values()))
        for menu, cnt in temp.items():
            if cnt == max_val and cnt != 1:
                result.append(''.join(menu))
    
    return list(sorted(result))

🧲 μž‘μ„€

πŸ” μ›λž˜λŠ” 주말에 λͺ‡ 가지 μ•Œκ³ λ¦¬μ¦˜ 문제 ν˜Ήμ€ μ „ 직μž₯ μ‚¬λžŒλ“€μ΄ 있으면 μ’‹κ² λ‹€κ³  ν–ˆλ˜, λ‚΄κ°€ λ§Œλ“€κ³  μ‹Άμ—ˆμ§€λ§Œ μ‹œκ°„μƒ λͺ» λ§Œλ“€κ³  λ‚˜μ˜¨ λ°©ν™”λ²½ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ νˆ΄μ— νŠΉμ • κΈ°λŠ₯을 λ§Œλ“€μ–΄ νšŒμ‚¬μ‚¬λžŒλ“€μ—κ²Œ λ°°ν¬ν•˜λ € ν–ˆμ§€λ§Œ μˆ˜λ¦¬λ‚¨μ„ μ •μ£Όν–‰ ν•΄λ²„λ €μ„œ γ… γ… γ…  μˆ˜λ¦¬λ‚¨... ν•œ 번 λ³΄λ‹ˆ λ©ˆμΆœμˆ˜κ°€ μ—†μ—ˆλ‹€ γ…œ μ΄λ²ˆμ£Όμ—λŠ” κΌ­ λ§Œλ“€μ–΄μ•Όμ§€...
이번주 끝!

profile
Carrot_hyeong

0개의 λŒ“κΈ€