๐Ÿ“– ํ•ด์‹œ > ์˜์ƒ

  • ์˜ท ์กฐํ•ฉ ๊ฐœ์ˆ˜๋ฅผ return
  • ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์˜ท์€ ๋™์‹œ์— 1๋ฒŒ ์”ฉ๋งŒ ์ž…์„ ์ˆ˜ ์žˆ์Œ

๐Ÿ“–What I thought

  • ์˜ท ์ข…๋ฅ˜๋งˆ๋‹ค n+1 ๊ฐœ์˜ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ (์•ˆ ์ž…๋Š” ๊ฒฝ์šฐ, 1๋ฒˆ ์˜ท, 2๋ฒˆ ์˜ท, โ€ฆ , n๋ฒˆ ์˜ท) โ†’ ๊ฐ ์˜ท ์ข…๋ฅ˜ ๊ฒฝ์šฐ์˜ ์ˆ˜(์œ„์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜)๋ฅผ ๊ณฑํ•˜๋ฉด ๋์ด์ž”์•„?
  • ๐Ÿšจ ๋ชจ๋“  ์˜ท์„ ์•ˆ ์ž…๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ณฑํ•œ ๊ฐ’์˜ -1๊ฐ€ ์ •๋‹ต์ด๋„ค
  • dictionary์— key๋ฅผ ์˜ท ์ข…๋ฅ˜ value๋ฅผ ์˜ท ๊ฐœ์ˆ˜๋กœ ํ•ด์„œ value๋“ค์„ ๋‹ค ๊ณฑํ•˜์ž

๐Ÿ“–ํ’€์ด

๐Ÿ“ŽDictionary

from math import prod
 
def solution(clothes):
    closet = dict()
 
    for cloth, category in clothes:
        closet[category] = closet.get(category, 0) + 1
 
    return prod([v+1 for v in closet.values()]) - 1
  • dictionary {์˜ท ์ข…๋ฅ˜: ์˜ท ๊ฐœ์ˆ˜} ๋กœ ๋งน๋“ค์–ด์ค˜~
  • ๊ทธ๋Ÿฌ๊ณ  value๋“ค์„ ๋‹ค ๊ณฑํ•˜๋ฉด ๋˜์ž๋‚˜
  • ๐Ÿšจ ๊ทธ๋Ÿฐ๋ฐ? value๊ฐ€ ์˜ท ๊ฐœ์ˆ˜์ด๋ฏ€๋กœ ์•ˆ ์ž…๋Š” ๊ฒฝ์šฐ +1 ํ•ด์„œ ๊ณฑํ•ด์•ผ ํ•ด
  • ๐Ÿšจ ๋˜ ๊ทธ๋Ÿฐ๋ฐ? ์•„์˜ˆ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ ์ž…์„ ์ˆ˜๋Š” ์—†์œผ๋‹ˆ๊นŒ ๊ณฑํ•œ ๊ฒฐ๊ณผ ๊ฐ’์—์„œ -1ํ•ด์•ผ ํ•ด

๐Ÿ“–What I learned

  1. ์ˆ˜ํ•™ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์˜ค๋žœ๋งŒ์— ๋– ์˜ฌ๋ ธ๋‹ค ใ…Žใ…Ž; ;
  2. sum()์€ ์ž์ฃผ ํ™œ์šฉํ•˜๋Š”๋ฐ prod() ์€ ์ž์ฃผ ๊นŒ๋จน์–ด ๊ธฐ์–ตํ•˜์Ÿˆ

prod()

import math ์ฃผ์–ด์ง„ iterable์— ๋Œ€ํ•ด์„œ ๋ชจ๋“  ์š”์†Œ์— ๋Œ€ํ•ด ๊ณฑ์…ˆ์„ ๊ณ„์‚ฐํ•ด ๋ฐ˜ํ™˜

๐Ÿ“–๊ด€๋ จ ์ง€์‹

๐Ÿ“ŽHash Table

๐Ÿ“ŽDictionary