내용으로 건너뛰기
테페리넷
사용자 도구
등록
로그인
사이트 도구
검색
도구
문서 보기
Fold/unfold all
역링크
미디어 관리자
사이트맵
등록
로그인
>
미디어 관리자
사이트맵
현재 위치:
테페리넷
»
Problem Solving
»
문제
»
프로그래머스
»
위장
ps:problems:programmers:42578
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 위장 ====== ===== 풀이 ===== * [[ps:problems:boj:9375]]와 동일한 문제. 문제의 원 출처는 Benelux Algorithm Programming Contest 2013이다 * 의상의 종류가 i가지이고, 각 종류별로 n1,n2,n3,...,ni 개의 의상이 있다고 하면, 가능한 조합의 갯수는 n1*n2*...*ni - 1이 된다. * 마이너스 1을 하는 이유는 아무것도 안입는 경우를 제외하기 위해서. * 의상들을 한번씩 읽어서 종류별로 분류하는 것이 O(n*l), 조합의 갯수를 계산하는 것은 O(n). 총 시간복잡도는 O(n*l) ===== 코드 ===== <dkpr py> """Solution code for "Programmers 42578. 위장". - Problem link: https://programmers.co.kr/learn/courses/30/lessons/42578 - Solution link: http://www.teferi.net/ps/problems/programmers/42578 """ import collections import functools import operator def solution(clothes): counter = collections.Counter(type_ for name, type_ in clothes) return functools.reduce(operator.mul, (v + 1 for v in counter.values())) - 1 </dkpr> {{tag>프로그래머스 ps:problems:programmers:Level_2}}
ps/problems/programmers/42578.txt
· 마지막으로 수정됨: 2021/07/26 17:25 저자
teferi
문서 도구
문서 보기
역링크
Fold/unfold all
맨 위로