일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 개발/에러
- 개발
- 카카오테크캠퍼스
- 개발/프레임워크&라이브러리
- 개발/CS/OS
- 알고리즘
- ai
- 대외활동/카카오테크캠퍼스
- 개발/OOP
- 카테캠
- electron
- 개발/언어론
- 개발/Electron
- 개발/webrtc
- 개발/컴퓨터네트워크
- 개발/네트워크
- 개발/CS/알고리즘
- 개발/Java
- 개발/언어/Java
- 취업
- 개발/보안
- ⌨️Developer/보안
- 개발/환경
- ⌨️Developer
- 카카오 테크 캠퍼스
- 개발/MySQL
- 개발/Java/Spring
- AI/ML
- 개발/Tools/프레임워크/Spring
- AI/GPT
Archives
- Today
- Total
봄수의 연구실
CodingTest 감 살리기 with Programmers - 3일차 본문
CodingTest 감 살리기 with Programmers
위장
from collections import defaultdict
def solution(clothes):
answer = 1
dic = defaultdict(list)
for cl in clothes:
dic[cl[1]].append(cl[0])
for d in dic:
answer*=len(dic[d])+1
return answer-1
딕셔너리에 값을 종류 별로 입력한 후에 못든 경우의 수 -1을 하였다.
특정 옷 종류+1개의 경우의 수 - 옷을 전혀 입지 않은 수가 원하는 값이기 때문이다.
베스트 앨범
from collections import defaultdict
def solution(genres, plays):
answer = []
dic1 =defaultdict(list)
dic2 =defaultdict(int)
for i,p in enumerate(zip(genres,plays)):
dic1[p[0]].append((i,p))
dic2[p[0]] +=p[1]
for k,v in sorted(dic2.items(),key= lambda x : x[1],reverse=True):
for (i,p) in sorted(dic1[k],key=lambda x:x[1],reverse=True)[:2]:
answer.append(i)
return answer
- 가장 많이 플레이한 장르, 재생 횟수가 같은 노래 중, 고유 번호가 낮은 노래를 4개 출력하면 된다.
- 로직은 간단한데, 문제를 제대로 읽지 않아 푸는데 오래 걸렸다
- 1~2개씩 틀리는게 뭔가 했는데 예외처리를, 제대로 하지 않았다
레퍼런스
728x90
'알고리즘 풀이' 카테고리의 다른 글
CodingTest 감 살리기 with Programmers - 6일차 (1) | 2023.03.14 |
---|---|
CodingTest 감 살리기 with Programmers - 5일차 (0) | 2023.03.13 |
CodingTest 감 살리기 with Programmers - 4일차 (0) | 2023.03.11 |
CodingTest 감 살리기 with Programmers - 2일차 (0) | 2023.03.02 |
CodingTest 감 살리기 with Programmers - 1일차 (0) | 2023.03.01 |