오늘의 학습 키워드: 수학
문제: 의상
https://school.programmers.co.kr/learn/courses/30/lessons/42578
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
오늘의 풀이는 다음 글을 참고하여 진행했습니다.
https://school.programmers.co.kr/questions/33347
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이걸 이렇게 생각할 줄은 몰랐습니다..
경우의 수를 따지는데
2개 종류: (a+b) + (ab)
3개 종류: (a+b+c) + (ab+bc+ca) + (abc)
이렇게 표현이 되고, 이걸 n차식의 계수의 합과 연결 지어 생각합니다.
=> (x+a)(x+b)(x+c) = x3 + (a+b+c)x2 + (ab+bc+ca) x + (abc)
x에 1을 넣으면 위의 3개 종류의 식이 되는 방식입니다.. 물론 x3으로 인해서 -1을 해줘야 합니다.
따라서 종류의 개수는 (1+a)(1+b)(1+c)로 표현 가능합니다
def solution(clothes):
ans =1
clodict= {}
for i in clothes:
clodict[i[-1]] =0
for k in clothes:
clodict[k[-1]]+=len(k[:-1])
for h in clodict.values():
ans = (h+1)*ans
return ans-1
회고
수학적인 방법 말고 다른 방법으로도 풀이해 봐야겠습니다.
내일 학습할 것.
밀린 복습..?
'코딩테스트 > 알고리즘' 카테고리의 다른 글
99클럽 코테 스터디 8일차 TIL + 기능개발 (1) | 2024.07.29 |
---|---|
99클럽 코테 스터디 7일차 TIL + 하노이의 탑 (0) | 2024.07.29 |
99클럽 코테 스터디 5일차 TIL + 전화번호 목록 (0) | 2024.07.26 |
99클럽 코테 스터디 4일차 TIL + JadenCase 문자열 만들기 (0) | 2024.07.25 |
99클럽 코테 스터디 3일차 TIL + 문자열 내 마음대로 정렬하기 (3) | 2024.07.24 |