https://programmers.co.kr/learn/courses/30/lessons/42578
💦😓 우린 이걸 바바리맨이라고 부르기로 했어요 💦💦
딕셔너리와 경우의 수를 이용해서 풀 수 있다.
0. 딕셔너리로 의상 종류 개수 세기
from collections import defaultdict
def solution(clothes):
dct = defaultdict(int)
for cloth, kinds in clothes:
dct[kinds] += 1
key 값에 옷의 종류를 넣어서 개수를 체크해주었다.
종류 개수 얼굴 🎩 🕶 (2개) 상의 👚 👕 🧥 (3개) 하의 👖 🩳 🩲 (3개) 스파이가 위의 같은 옷을 가지고 있을 때,
변장 할 수 있는 경우의 수는 아래와 같다.
종류 경우의 수 얼굴 (안입음) / 🎩 / 🕶 3가지 상의 (안입음) / 👚 / 👕 / 🧥 4가지 하의 (안입음) / 👖 / 🩳 / 🩲 4가지 옷의 종류 중 안입는 경우도 고려해줘야 한다.
그렇지만 [얼굴, 상의, 하의] 중 한가지라도 입어야 한다..! 🤓따라서 전체 경우의 수인
(얼굴 개수 + 1) * (상의 개수 + 1) * (하의 개수 + 1)
에서
아무것도 안입는 경우인1가지 경우의 수를 빼주면
된다.
answer = 1
for k, v in dct.items():
answer *= (v + 1)
print(answer-1)
import sys
input = sys.stdin.readline
n = int(input())
length = list(map(int,input().rsplit()))
price = list(map(int,input().rsplit()))
answer = 0
min_price = price[0]
for i in range(n-1):
min_price = min(min_price, price[i])
answer += (length[i] * min_price)
print(answer)