๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/-

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์˜์ƒ

by syLim___ 2023. 6. 3.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/42578

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


python

from functools import reduce

def solution(clothes):
	# ๋”•์…”๋„ˆ๋ฆฌ์— ์ข…๋ฅ˜๋ณ„๋กœ ์˜ท์ด ๋ช‡ ๊ฐœ์”ฉ ์žˆ๋Š”์ง€ ์ €์žฅํ•œ๋‹ค.
    cdict = dict()
    for cname, ctype in clothes:
        if ctype not in cdict:
            cdict[ctype] = 1
        else:
            cdict[ctype] += 1
            
    answer = 1
    for x in cdict:
    	# (๊ฐ ์ข…๋ฅ˜๋ณ„ ์˜ท ๊ฐœ์ˆ˜ + 1)์„ ๋ชจ๋‘ ๊ณฑํ•ด์ค€๋‹ค.
        answer *= (cdict[x]+1)
    
    return answer-1

 

 

 

๋ฌธ์ œ ์˜ˆ์ œ๋ฅผ ์˜ˆ์‹œ๋กœ ์„ค๋ช…ํ•ด๋ณด๋ฉด,

cdict = { '์–ผ๊ตด' : 2, '์ƒ์˜' : 1, 'ํ•˜์˜' : 1, '๊ฒ‰์˜ท' : 1 } ์ด ๋˜๋Š”๋ฐ,

์ด๋•Œ ์ฝ”๋‹ˆ๊ฐ€ ์ข…๋ฅ˜๋ณ„๋กœ ์ž…์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

์–ผ๊ตด - 3๊ฐ€์ง€ (๋™๊ทธ๋ž€์•ˆ๊ฒฝ, ๊ฒ€์ •์„ ๊ธ€๋ผ์Šค, ์•ˆ ์ž…์Œ)

์ƒ์˜ - 2๊ฐ€์ง€ (ํŒŒ๋ž€ ํ‹ฐ์…”์ธ , ์•ˆ ์ž…์Œ)

ํ•˜์˜ - 2๊ฐ€์ง€ (์ฒญ๋ฐ”์ง€, ์•ˆ ์ž…์Œ)

๊ฒ‰์˜ท - 2๊ฐ€์ง€ (๊ธด ์ฝ”ํŠธ, ์•ˆ ์ž…์Œ)

 

๋”ฐ๋ผ์„œ ์ •๋‹ต์€ ์œ„ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ณฑํ•œ 3*2*2*2์—์„œ 1์„ ๋บ€ ๊ฐ’์ด ๋œ๋‹ค.

 

1์„ ๋นผ๋Š” ์ด์œ ๋Š” (์•ˆ ์ž…์Œ, ์•ˆ ์ž…์Œ, ์•ˆ ์ž…์Œ, ์•ˆ ์ž…์Œ)์˜ 1๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋นผ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฌธ์ œ ์กฐ๊ฑด์—์„œ ํ•˜๋ฃจ์— ์ตœ์†Œ ํ•œ ๊ฐœ์˜ ์˜์ƒ์€ ์ž…๋Š”๋‹ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ!

 

728x90