2021. 1. 19. 02:32ใ๐ Algorithm/๐ช๐ป Python ๋ฌธ์ ํ์ด
๋ฌธ์ ์ค๋ช
์คํ์ด๋ค์ ๋งค์ผ ๋ค๋ฅธ ์ท์ ์กฐํฉํ์ฌ ์ ์ด ์์ ์ ์์ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์คํ์ด๊ฐ ๊ฐ์ง ์ท์ด ์๋์ ๊ฐ๊ณ ์ค๋ ์คํ์ด๊ฐ ๋๊ทธ๋ ์๊ฒฝ, ๊ธด ์ฝํธ, ํ๋์ ํฐ์ ์ธ ๋ฅผ ์ ์๋ค๋ฉด ๋ค์๋ ์ ์ฒญ๋ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ์ ๊ฑฐ๋ ๋๊ทธ๋ ์๊ฒฝ ๋์ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ์ฐฉ์ฉํ๊ฑฐ๋ ํด์ผ ํฉ๋๋ค.
์ข ๋ฅ | ์ด๋ฆ |
์ผ๊ตด | ๋๊ทธ๋ ์๊ฒฝ, ๊ฒ์ ์ ๊ธ๋ผ์ค |
์์ | ํ๋์ ํฐ์ ์ธ |
ํ์ | ์ฒญ๋ฐ์ง |
๊ฒ์ท | ๊ธด ์ฝํธ |
์คํ์ด๊ฐ ๊ฐ์ง ์์๋ค์ด ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์ฃผ์ด์ง ๋ ์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- clothes์ ๊ฐ ํ์ [์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์คํ์ด๊ฐ ๊ฐ์ง ์์์ ์๋ 1๊ฐ ์ด์ 30๊ฐ ์ดํ์ ๋๋ค.
- ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ์์์ ์กด์ฌํ์ง ์์ต๋๋ค.
- clothes์ ๋ชจ๋ ์์๋ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ๋ชจ๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ธ ์์ฐ์์ด๊ณ ์ํ๋ฒณ ์๋ฌธ์ ๋๋ '_' ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์คํ์ด๋ ํ๋ฃจ์ ์ต์ ํ ๊ฐ์ ์์์ ์ ์ต๋๋ค.
์ ์ถ๋ ฅ ์์
ํ์ด ๊ณผ์
ํด์ฌ๋ฅผ ์ด์ฉํ๋ ๋ฌธ์ ์๋ค. ์์์ ํ์๋ ์ ํ๋ฒํธ ๋ฌธ์ ๋ ํด์ฌ๋ฅผ ๊ตณ์ด ์ด์ฉํด์ผ ํ๋? ๋ผ๋ ์๊ฐ์ด ๋ค์์ง๋ง ์ด๋ฒ์๋ ์ท์ ํ์ ๋ณ ๊ฐฏ์๋ฅผ ์ธ์ด ์์ด์ ๊ตฌํํ๋ ๋ฌธ์ ์๊ธฐ ๋๋ฌธ์ ๋์ ๋๋ฆฌ๊ฐ ํ์ํ ๋ฌธ์ ์๋ค. ๋๋ ๋์ ๋๋ฆฌ ์ค defaultdict๋ฅผ ์ด์ฉํ์ฌ ํ์ด๋ณด์๋ค.
์ผ๋ฐ dictionary์ defaultdictionary์ ์ฐจ์ด๋ dictionary๋ ๋ฏธ๋ฆฌ ์์ฑ๋์ด ์์ง ์๋ ํค์ ์ ๊ทผํ ์ ์์ง๋ง, defaultdictionary๋ ๋ฏธ๋ฆฌ ์์ฑ๋์ด ์์ง ์๋ ํค์ฌ๋ ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ณ default๊ฐ์ ์ง์ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
clothes ๋ก for๋ฌธ์ ๋๋ ค clothes_dict์ ๊ฐฏ์๋ฅผ ์ธ์ด์ฃผ์๋ค. (dict - key๊ฐ์ ์ท์ type์ผ๋ก ์ง์ )
๊ทธํ clothes_dict์ value๋งํผ for๋ฌธ์ ๋๋ ค answer์ ๊ณฑํด์ฃผ๋ ํ์์ผ๋ก ์์ด์ ๊ตฌํ๋ค. ์์ด์ ์ํด answer ๋ฅผ 1 ๋ํด์ฃผ์๊ธฐ ๋๋ฌธ์ return ํ ๋๋ answer -1 ์ ํด์ฃผ์๋ค.
from collections import defaultdict
def solution(clothes):
answer = 1
clothes_dict = defaultdict(int)
for c_name, c_type in clothes:
clothes_dict[c_type] += 1
for i in clothes_dict.values():
answer *= (i + 1)
return answer - 1
if __name__ == "__main__":
print(solution([["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]]))
print(solution([["crow_mask", "face"], ["blue_sunglasses", "face"], ["smoky_makeup", "face"]]))
'๐ Algorithm > ๐ช๐ป Python ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python - ํ๋ก๊ทธ๋๋จธ์ค Level2] ์ฃผ์ ๊ฐ๊ฒฉ (0) | 2021.01.19 |
---|---|
[Python - ํ๋ก๊ทธ๋๋จธ์ค Level2] ์ ํ๋ฒํธ (0) | 2021.01.19 |
[Python - ๋ฐฑ์ค 7576] ํ ๋งํ (0) | 2021.01.17 |