[ํ๋ก๊ทธ๋๋จธ์ค/python] ํด์(Hash) : ์์ฅ
๋ฌธ์ ์ค๋ช
์คํ์ด๋ค์ ๋งค์ผ ๋ค๋ฅธ ์ท์ ์กฐํฉํ์ฌ ์ ์ด ์์ ์ ์์ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์คํ์ด๊ฐ ๊ฐ์ง ์ท์ด ์๋์ ๊ฐ๊ณ ์ค๋ ์คํ์ด๊ฐ ๋๊ทธ๋ ์๊ฒฝ, ๊ธด ์ฝํธ, ํ๋์ ํฐ์ ์ธ ๋ฅผ ์ ์๋ค๋ฉด ๋ค์๋ ์ ์ฒญ๋ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ์ ๊ฑฐ๋ ๋๊ทธ๋ ์๊ฒฝ ๋์ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ์ฐฉ์ฉํ๊ฑฐ๋ ํด์ผ ํฉ๋๋ค.
์ข ๋ฅ์ด๋ฆ
์ผ๊ตด | ๋๊ทธ๋ ์๊ฒฝ, ๊ฒ์ ์ ๊ธ๋ผ์ค |
์์ | ํ๋์ ํฐ์ ์ธ |
ํ์ | ์ฒญ๋ฐ์ง |
๊ฒ์ท | ๊ธด ์ฝํธ |
์คํ์ด๊ฐ ๊ฐ์ง ์์๋ค์ด ๋ด๊ธด 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์ ๋นผ๋ ์ด์ ๋ ์๋ฌด๊ฒ๋ ์์ ๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํด์ฃผ๊ธฐ ์ํจ์ด๋ค.
'๐์๊ณ ๋ฆฌ์ฆ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/python] ํ์๋ฒ(Greedy) : ์กฐ์ด์คํฑ (0) | 2021.03.29 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/python] ํด์(hash) : ์ ํ๋ฒํธ ๋ชฉ๋ก (0) | 2021.03.23 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ํด์(Hash) : ์์ฃผํ์ง ๋ชปํ ์ ์ (0) | 2021.03.23 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ํ์๋ฒ(Greedy) : ๊ตฌ๋ช ๋ณดํธ (0) | 2021.03.18 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ํ์๋ฒ(Greedy) : ์ฒด์ก๋ณต (0) | 2021.03.17 |