[ 알고리즘 ]/Hash

    [프로그래머스] 위장

    📌문제 https://programmers.co.kr/learn/courses/30/lessons/42578 🎖️난이도 Level 2 ✔️풀이 # sol1 def solution(clothes): sorted_list = sorted(clothes, key = lambda x : x[1]) dic = {} category = '' for item in sorted_list: if item[1] == category: dic[category].append(item[0]) # 같은 종류면 그냥 뒤에 이어서 추가만 continue category = item[1] dic[category] = [] # 다를때만 새로운 종류 발견했을 때이므로, 이때만 새롭게 빈 배열로 초기화! dic[category].appen..

    [프로그래머스] 전화번호 목록

    📌문제 https://programmers.co.kr/learn/courses/30/lessons/42577 🎖️난이도 Level 2 ✔️풀이 # sol1 def solution(phone_book): phone_book.sort() # sort() !! # 2중 for문 안써줘야 효율성 향상! for i in range(len(phone_book)-1): if phone_book[i] in phone_book[i+1] and phone_book[i+1].split(phone_book[i])[0] == "": return False return True return True # sol2) s.startswith() def solution(phone_book): phone_book.sort() for i ..

    [프로그래머스] 완주하지 못한 선수

    📌문제 https://programmers.co.kr/learn/courses/30/lessons/42576 🎖️난이도 Level 1 ✔️풀이 # sol1 def solution(participant, completion): participant.sort() completion.sort() for p, c in zip(participant, completion): if p != c: return p return participant[-1] # participant가 completion보다 요소가 1개 더 많으므로, 맨 마지막 전까지 전부 p == c 일 경우! # 즉, 마지막이 답! # sol2) collections.Counter().keys() 이용 import collections def solut..