Algorithms
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ - python
thals0
2023. 9. 28. 14:52
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42578
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์ ์ ๋ณด
๋ฌธ์ ์ ํ | ๋์ด๋ | ๊ฑธ๋ฆฐ ์๊ฐ | ํด๊ฒฐ ์ ๋ฌด | ์ค์ค๋ก ๊ตฌํ ์ฑ๊ณต |
ํด์ฑ | level2 | 45m | O | X |
์ค๊ณ ๋ฐฉ๋ฒ
1. dictionary์ “์ท์ ๋ถ๋ฅ : ์ข ๋ฅ ๊ฐฏ์” ์ด๋ ๊ฒ ๋ฃ์ด์ฃผ๊ณ
2. (์ข ๋ฅ+1) ์ ๋ถ ๊ณฑํ ํ -1 ํด์ฃผ๋ฉด ๋จ
(์ข ๋ฅ + 1) ๊ณฑํ๊ณ 1 ๋นผ๋ฉด ๋๋ ์ด์ : ex. (a + 1)(b + 1)(c + 1) - 1 = (a + b + c) + (ab + bc + ca) + abc
์ฝ๋
def solution(clothes):
ans = 1
dict = {}
for i in clothes:
if i[1] not in dict:
dict[i[1]] = 0
dict[i[1]]+=1
for i in dict.values():
ans=(i+1)*ans
return ans-1
์๊ฐ ๋ณต์ก๋
O(N)
์ด๋ ค์ ๋ ์
for i in dict.values():
ans=(i+1)*ans
์ด ๋ถ๋ถ์ ํ์ด ๋ณด๊ธฐ ์ ๊น์ง๋ ๋ชฐ๋์
์ด๋ป๊ฒ ์๊ฐํด๋ด์ง
(์ข ๋ฅ + 1) ๊ณฑํ๊ณ 1 ๋นผ๋ฉด ๋๋ ์ด์ : ex. (a + 1)(b + 1)(c + 1) - 1 = (a + b + c) + (ab + bc + ca) + abc
728x90