본문 바로가기
반응형

알고리즘/카카오 기출문제15

[파이썬🐍] 프로그래머스 : 메뉴 리뉴얼 from itertools import combinations from collections import Counter def solution(orders,course): answer = [] for k in course: candidates = [] for menu_li in orders: for li in combinations(menu_li,k): res = ''.join(sorted(li)) candidates.append(res) sorted_candidates = Counter(candidates).most_common() #개수가 많은 순으로 정렬 answer += [menu for menu, cnt in sorted_candidates if cnt > 1 and cnt == sorted_c.. 2021. 8. 31.
[파이썬🐍] 프로그래머스 : [3차] 파일명 정렬 숫자나 문자를 기준으로 나눠야 할 경우 're' 사용하는 습관 들이기! 코드가 매우 간단해짐😊 import re def solution(files): file = [re.split('([0-9]+)',i) for i in files] #숫자를 기준으로 나누기 file.sort(key = lambda x : (x[0].lower(),int(x[1]))) #소문자 전환 후 정렬, 정수로 전환하여 정렬 return [''.join(lst) for lst in file] 2021. 7. 21.
[파이썬🐍] 프로그래머스 : 숫자 문자열과 영단어 def solution(s): number = {"zero":"0","one":"1","two":"2","three":"3","four":"4","five":"5","six":"6","seven":"7","eight":"8","nine":"9"} for i in number: if i in s: s = s.replace(i, number[i]) return int(s) 2021. 7. 16.
[파이썬🐍] 프로그래머스 : [1차] 뉴스 클러스터링 풀수록 어렵게 푸는 것 같아서 다른 사람들이 어떻게 푸나 찾아보다가 collections모듈을 이용한 풀이를 발견했다. 간단하게 잘 푼 풀이같다. 난 아직 collections에 익숙하지 않아서 바로 떠오르지가 않는다. 이 풀이를 반복하며 익숙해져야겠다. import collections def solution(str1, str2): arr1, arr2 = [],[] for i in range(max(len(str1), len(str2))-1): if (str1[i:i+2].isalpha()) and (len(str1[i:i+2]) == 2): arr1.append(str1[i:i+2].lower()) if (str2[i:i+2].isalpha()) and (len(str2[i:i+2]) == 2): a.. 2021. 6. 29.
반응형