LV.2 ์์ ์ง๊ฟ
from collections import Counter
def solution(weights):
answer = 0
w_counter = Counter(weights)
# ์์ ์ ๊ฐ์ฒ๋ผ ๋์ผ ํ ๊ฐ์ด 2๊ฐ ์ด์์ผ ๋ ๊ณ์ฐํ ์ฝ๋ ๐
for w, c in w_counter.items():
if c >= 2: # ๊ฐ์ ๋ฌด๊ฒ๋ก 2๊ฐ ์ด์์ด๋ฉด nC2์ผ๋ก ๊ณ์ฐ
answer += (c * (c - 1)) // 2
weights = set(weights) # ๊ฐ์ ๋ฌด๊ฒ๋ฅผ ๊ฐ์ง (์ค๋ณต)์ ๊ฑฐ
# ์๋ก ๋ค๋ฅธ ๋ฌด๊ฒ๊ฐ 2/3, 2/4, 3/4 ๋น์จ์ ๊ฐ์ง๊ณ ์์ ๋๋ฅผ ์ฐพ๋ ์ฝ๋ ๐
for w in weights:
# w๋ฌด๊ฒ์ 2/3, 2/4, 3/4์ ํด๋นํ๋ w์ ๊ฐฏ์๋ฅผ ๊ฐ์ง๊ณ ๊ณ์ฐ ๊ฐ๋ฅ
if (w * 2/3) in weights:
answer += w_counter[w*2/3] * w_counter[w]
# w๋ฌด๊ฒ๋ฅผ ๊ฐ์ง ๊ฐฏ์์ w*2/3๊ฐ์ ๊ฐ์ง ๊ฐฏ์์ ๊ณฑ
# ex) [180, 270, 100, 270] ์ธ ๋ฐฐ์ด์ผ ๋
# 270์ 2/3์ธ 180์ด 2๊ฐ ์๋ค.
# 270๋ 2๊ฐ ์์ผ๋ 2 * 2 ๋๋ค.
if (w * 2/4) in weights:
answer += w_counter[w*2/4] * w_counter[w]
if (w * 3/4) in weights:
answer += w_counter[w*3/4] * w_counter[w]
return answer
ํด๋น ๋ฌธ์ ๋ ๊ฒ์์ ํตํด์ ํด๊ฒฐํ ๋ฌธ์ ์
๋๋ค.
์์ง ์ ๋ ์ดํด๊ฐ 85%์ ๋..? ํ์ด๊ฐ ํ๋ ธ์ผ๋ฉด ์๋ ค์ฃผ์ธ์..๐ง๐ปโโ๏ธ