[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/python] ํ•ด์‹œ(Hash) : ์œ„์žฅ

2021. 3. 23. 21:56

๋ฌธ์ œ ์„ค๋ช…

์ŠคํŒŒ์ด๋“ค์€ ๋งค์ผ ๋‹ค๋ฅธ ์˜ท์„ ์กฐํ•ฉํ•˜์—ฌ ์ž…์–ด ์ž์‹ ์„ ์œ„์žฅํ•ฉ๋‹ˆ๋‹ค.

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

์ข…๋ฅ˜์ด๋ฆ„

์–ผ๊ตด ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค
์ƒ์˜ ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ 
ํ•˜์˜ ์ฒญ๋ฐ”์ง€
๊ฒ‰์˜ท ๊ธด ์ฝ”ํŠธ

์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜์ƒ๋“ค์ด ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด clothes๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ์˜ท์˜ ์กฐํ•ฉ์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

 

์ œํ•œ์‚ฌํ•ญ

  • clothes์˜ ๊ฐ ํ–‰์€ [์˜์ƒ์˜ ์ด๋ฆ„, ์˜์ƒ์˜ ์ข…๋ฅ˜]๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜์ƒ์˜ ์ˆ˜๋Š” 1๊ฐœ ์ด์ƒ 30๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์˜์ƒ์€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • clothes์˜ ๋ชจ๋“  ์›์†Œ๋Š” ๋ฌธ์ž์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 20 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ด๊ณ  ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž ๋˜๋Š” '_' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ŠคํŒŒ์ด๋Š” ํ•˜๋ฃจ์— ์ตœ์†Œ ํ•œ ๊ฐœ์˜ ์˜์ƒ์€ ์ž…์Šต๋‹ˆ๋‹ค.

 

์ •๋‹ต

def solution(clothes):
    kinds = {}
    for i in clothes:
        if i[1] in kinds:
            kinds[i[1]] += 1
        else:
            kinds[i[1]] = 2

    answer = 1
    for j in kinds.values():
        answer *= j
        

    return answer-1

kinds = {}
    for i in clothes:
        if i[1] in kinds:
            kinds[i[1]] += 1
        else:
            kinds[i[1]] = 2

์˜์ƒ์˜ ์ข…๋ฅ˜๋ณ„๋กœ kinds์— ์ €์žฅํ•œ๋‹ค.

1๊ฐœ ์žˆ๋‹ค๋ฉด ๊ฐ’์œผ๋กœ 2๋ฅผ ์ €์žฅํ•˜๊ณ  ํ•œ๊ฐœ์”ฉ ๋Š˜์–ด๋‚  ๋•Œ๋งˆ๋‹ค 1์„ ๋”ํ•ด์ค€๋‹ค.

๊ฐฏ์ˆ˜๋ณด๋‹ค 1 ํฌ๊ฒŒ ์ €์žฅํ•˜๋Š” ์ด์œ ๋Š” ์•ˆ์ž…๋Š” ๊ฒฝ์šฐ 1๋ฒˆ์„ ํฌํ•จํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด "eyewear"๊ฐ€ "A", "B", "C" 3๊ฐœ ์žˆ๋‹ค๋ฉด
A์ž…๊ธฐ, B์ž…๊ธฐ, C์ž…๊ธฐ, ์•ˆ์ž…๊ธฐ๋กœ ์ด 4๊ฐœ์ด๊ธฐ๋•Œ๋ฌธ์— 'eyewear' : 4๋กœ ์ €์žฅ๋  ๊ฒƒ์ด๋‹ค.

answer = 1
    for j in kinds.values():
        answer *= j

๊ฐ’์œผ๋กœ ์ €์žฅ๋œ ๋ชจ๋“  ๊ฐ’์„ ๊ณฑํ•˜์—ฌ answer์— ์ €์žฅํ•œ๋‹ค.

answer์— ์ €์žฅ๋œ ๊ฐ’์€ ๊ฐ ์ข…๋ฅ˜๋ณ„๋กœ ์•ˆ์ž…๋Š” ๊ฒƒ์—์„œ๋ถ€ํ„ฐ ์–ด๋–ค ๊ฒƒ์„ ์ž…๋Š”์ง€๊นŒ์ง€์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ณฑํ•œ ๊ฐ’๊ณผ ๊ฐ™๋‹ค.

return answer-1

answer์—์„œ 1๋บ€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

1์„ ๋นผ๋Š” ์ด์œ ๋Š” ์•„๋ฌด๊ฒƒ๋„ ์•ˆ์ž…๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•ด์ฃผ๊ธฐ ์œ„ํ•จ์ด๋‹ค.

728x90

BELATED ARTICLES

more