๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐˜ผ๐™ก๐™œ๐™ค๐™ง๐™ž๐™ฉ๐™๐™ข/๐™‹๐™ง๐™ค๐™œ๐™ง๐™–๐™ข๐™ข๐™š๐™ง๐™จ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํ•ด์‹œ '์œ„์žฅ' ํŒŒ์ด์ฌ ํ’€์ด

by beomcoder 2023. 2. 26.
728x90
๋ฐ˜์‘ํ˜•
 

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

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

programmers.co.kr

"""
์ŠคํŒŒ์ด๋“ค์€ ๋งค์ผ ๋‹ค๋ฅธ ์˜ท์„ ์กฐํ•ฉํ•˜์—ฌ ์ž…์–ด ์ž์‹ ์„ ์œ„์žฅํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜ท์ด ์•„๋ž˜์™€ ๊ฐ™๊ณ  ์˜ค๋Š˜ ์ŠคํŒŒ์ด๊ฐ€ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ,
๊ธด ์ฝ”ํŠธ, ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ ๋ฅผ ์ž…์—ˆ๋‹ค๋ฉด ๋‹ค์Œ๋‚ ์€ ์ฒญ๋ฐ”์ง€๋ฅผ ์ถ”๊ฐ€๋กœ ์ž…๊ฑฐ๋‚˜ 
๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ ๋Œ€์‹  ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค๋ฅผ ์ฐฉ์šฉํ•˜๊ฑฐ๋‚˜ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
(์ค‘๋žต)
"""

def solution(clothes):
    _dict = {k:[] for _,k in clothes}
    for v, k in clothes:
        _dict[k].append(v)
    res = 1
    for v in _dict.values():
        res *= (len(v) + 1)
    return res - 1

"""
์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€์—ˆ๋‹ค.
๊ธฐ๋ณธ์œผ๋กœ ์ƒ๊ฐํ•œ ๋ฐฉ์‹์€ ์˜ท์ž…๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜์˜€๋‹ค.
(๋นจ๊ฐ•์˜ท, ํŒŒ๋ž‘์˜ท) , (๋นจ๊ฐ•๋ฐ”์ง€, ํŒŒ๋ž‘๋ฐ”์ง€) ๋ผ๋ฉด ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ 2*2 = 4 ์ด๋‹ค.
์ด๊ฑด ๋ฌด์กฐ๊ฑด 1๊ฐ€์ง€๋ฅผ ๊ณจ๋ผ์„œ ์ž…์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

ํ•˜์ง€๋งŒ ์ŠคํŒŒ์ด๋Š” ๋ณ€ํƒœ์ธ์ง€ 1๊ฐœ๋ผ๋„ ์ž…์—ˆ์œผ๋ฉด
๋ฐ”์ง€๋ฅผ ์•ˆ์ž…์–ด๋„ ๋˜๊ณ , ์ƒ์˜๋ฅผ ์•ˆ์ž…์–ด๋„ ๋œ๋‹ค.

์กฐ๊ธˆ๋งŒ ๋‹ฌ๋ฆฌ ์ƒ๊ฐํ•ด์„œ ์˜ท์„ ์•ˆ์ž…๋Š” ์ˆ˜๋ฅผ ํˆฌ๋ช…์˜ท์„ ์ž…๋Š”๋‹ค๊ณ  ์ •ํ•ด๋ณด์ž.

(๋นจ๊ฐ•์˜ท, ํŒŒ๋ž‘์˜ท, ํˆฌ๋ช…์˜ท), (๋นจ๊ฐ•๋ฐ”์ง€, ํŒŒ๋ž‘๋ฐ”์ง€, ํˆฌ๋ช…๋ฐ”์ง€)
3*3 = 9 ์ด์ง€๋งŒ ํˆฌ๋ช…์˜ท๊ณผ ํˆฌ๋ช…๋ฐ”์ง€๋ฅผ ์ž…๋Š”๋‹ค๋ฉด 1๊ฐ€์ง€๋Š” ๋ฌด์กฐ๊ฑด ์ž…์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
์ด ํˆฌ๋ช…์˜ท๊ณผ ํˆฌ๋ช…๋ฐ”์ง€๋ฅผ ์ž…๋Š” ๊ฒฝ์šฐ์ธ 1์„ ๋นผ์ฃผ์—ˆ๋‹ค. 9 - 1 = 8

- 10 line
์˜ท์˜ ๋ฆฌ์ŠคํŠธ์—์„œ key(์˜ท์˜ ์ข…๋ฅ˜)๋งŒ ๋จผ์ € ์ •์˜ํ•ด์„œ dict๋กœ ๋งŒ๋“ค์—ˆ๋‹ค.

- 11~12 line
์˜ท์ข…๋ฅ˜์— ๋งž์ถฐ์„œ ์˜ท์„ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค.

- 13~ line
๊ฒฐ๊ณผ๊ฐ’์„ ๋ฆฌํ„ดํ•ด์ค„ res๋ฅผ ์„ ์–ธํ•œ๋‹ค.
์˜ท์ข…๋ฅ˜์— ํ•ด๋‹นํ•˜๋Š” ์˜ท๊ฐ€์ง€์ˆ˜(len(v))์— ํˆฌ๋ช…์˜ท(1)์„ ๋”ํ•ด ๊ณฑํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์ฐฉ์žฅ์— ํˆฌ๋ช…ํ•œ์˜ท์„ ์ž…๋Š” ๊ฒฝ์šฐ(1)์„ ๋นผ์ฃผ๊ณ  ๋ฆฌํ„ดํ•ด์ฃผ์—ˆ๋‹ค.
"""

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€