반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- DPDK
- 쿠버네티스
- 스프링
- Elasticsearch
- 파이썬
- 엘라스틱서치
- 프로그래머스 #카카오 #IT #코딩테스트
- 프로그래머스
- Spring
- 백엔드
- 개발자
- 자바
- programmers
- C
- 네트워크
- 스프링부트
- 코딩테스트
- Kakao
- 캐시
- 운영체제
- Python
- 리눅스
- IT
- 알고리즘
- 카카오
- Linux
- Java
- springboot
- docker
- 도커
Archives
- Today
- Total
저고데
[프로그래머스]위장 본문
728x90
반응형
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42578
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
본 문제를 요약하자면 다음과 같다.
옷의 이름과 종류가 담긴 clothes 배열이 주어진다.
최소한 하나는 입어야하며, 같은 종류의 옷은 1개까지 입을 수 있을 때, 입을 수 있는 모든 경우의 수를 반환해야한다.
코드를 작성하기 위한 순서는 다음과 같다.
1. 옷의 종류가 어떤 것이 있는지 알아내기 위해 따로 분리하여 배열을 하나 만든다.
2. 각 종류의 옷의 갯수는 몇 개인지 count를 사용하여 알아낸 수 이 역시 따로 분리하여 배열을 하나 만들어준다.
3. 예를 들어 1, 2번을 거쳐서 종류=[바지, 상의], 갯수=[2개, 1개]로 알아냈다면, 착용할 수 있는 경우의 수는 (2+1)*(1+1)가 된다. +1을 해주는 이유는 입지 않는 경우를 포함해야하기 때문이다.
4. 하지만 이 경우의 수는 모두 안입는 경우가 포함이 되어있다. 최소 1개는 입어야하기 때문에 -1를 해주면 정답이 된다.
def solution(clothes):
answer = 1
kind=[]
count=[]
for i in clothes:
kind.append(i[1]) #1번
for i in set(kind):
count.append(kind.count(i)) #2번
for i in count:
answer*=i+1 #3번
return answer-1 #4번
728x90
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스]징검다리 건너기 (0) | 2023.01.19 |
---|---|
[프로그래머스]행렬의 곱셈 (0) | 2023.01.18 |
[프로그래머스]문자열 내 마음대로 정하기 (1) | 2023.01.18 |
[프로그래머스]시저암호 (1) | 2023.01.18 |
[프로그래머스]행렬의 덧셈 (0) | 2023.01.18 |