[Python] 프로그래머스 위장
·
알고리즘
위장해시를 사용하는 문제 풀이def solution(clothes): hash = {} # hash를 초기화 => {"옷 종류" : 0} for n, t in clothes: hash[t] = 0 # 옷 종류별로 가진 옷의 수를 해시에 넣음 for key in hash.keys(): cnt = 0 for n, t in clothes: if key == t: cnt += 1 hash[key] = cnt value = list(hash.values()) # [2, 1] ans = 1 # 경우의 수를 계산 for i in value: ..
[Python] 프로그래머스 전화번호 목록
·
알고리즘
전화번호 목록 해시를 사용한 문제 내가 푼 풀이(실패) while True로 인해 실행시간 초과로 나와서, 중복되는 값들을 제거해 주었음에도 효율성 부분에서 모두 실패가 나왔다. def solution(phone_book): answer = 0 phone_book.sort() # 정렬 # 정렬시켜 제일 길이가 작은 문자열을 찾을 접두사 find 로 지정 find = phone_book[0] while True: v = [] # 찾을 접두어의 길이만큼 다른 요소들의 값을 슬라이싱해 리스트에 저장 for i in range(1, len(phone_book)): v.append(phone_book[i][:len(phone_book[0])]) for idx, value in enumerate(v): # 찾을 접..