코테 현타...

asdasd·2022년 1월 16일
0

코테준비

목록 보기
1/1

1/15 저녁에 풀기 시작해서 1/16 오후 방금 끝낸 문제다.

2021 KAKAO BLIND RECRUITMENT
메뉴 리뉴얼
https://programmers.co.kr/learn/courses/30/lessons/72411

각 메뉴의 조합들을 전부 구하고, 빈도를 구하기 위해서 counter와 combinations을 사용하여 풀었다.

먼저 손님들이 주문한 단품메뉴 조합들에서 순서 상관없이 조합을 모두 뽑아냈고,오름차순을 하기 위해 sorted를 통해 정렬 후 ''.join()메소드를 통해 합친 후 temp라는 리스트에 전부 저장했다. 그리고 "최소 2명 이상의 손님으로부터 주문되고 가장 많이 함께 주문된"이라는 요구사항을 만족시키기 위해 counter를 사용하여 그 조합들의 빈도를 조사한 후 나중에 값을 구하기 쉽게하기 위해 len() 메소드를 사용하여 길이대로 오름차순으로 정렬하였다.

그리고 for뤂을 통해서 변곡점을 아규먼트의 길이가 달라지는 경우를 삼아서 빈도 최대값을 찾아가면서 값을 구했다.

이 과정을 코드로 작성하면서 정렬을 만족시키기 위해 코드 곳곳에 sorted 메소드와 같이 여러번 중복되고, 지저분한 부분이 보였지만 최선이었다.ㅠㅠ

문제를 맞추고 뿌듯한 마음으로 다른 사람의 풀이 보는데 현타가 세게 왔다...
(내 코드)

(다른 사람의 코드)

기본적인 알고리즘을 동일하지만 most_common() 메소드와 comprehension의 능숙도 차이가 확연히 보였다,,

나름 스파게티 코드를 지양하고 작성했지만 아직 많이 부족한 것 같다.

profile
공부 기록

0개의 댓글