[python ์๊ณ ๋ฆฌ์ฆ] 2์ฃผ์ฐจ
๐ฉ ์ค๋ณต๋์ง ์์ ์์๋ฅผ ์ป๊ณ ์ ํ ๋, ์งํฉ์ ์ฑ์ง์ ๊ฐ์ง๊ณ ์๋ ๋ด์ฅํจ์์ธ set์ ์ฌ์ฉ!
๐ฉ .sort(key = len) ์ ๋ฌธ์์ด์ ๊ธธ์ด ์์ผ๋ก ์ ๋ ฌํด์ค๋ค.
๐ฉ '\n' ๋์ง์๊ณ ์ถ๋ ฅ์ for๋ฌธ์์ print(j, end='') ์ ์ฌ์ฉํ๋ค.
๐ฉ ์๋ฃํ ๋ด์์ ์ต์๊ฐ์ min(์๋ฃํ ์ด๋ฆ), ์ต๋๊ฐ์ max(์๋ฃํ ์ด๋ฆ)๋ก ๋ํ๋ธ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ index๋ฅผ ์๊ธฐ ์ํด์๋ ์๋ฃํ.index(max or min)๋ก ๊ฐ์ธ๋ฉด ๋๋ค.
๐ฉ ํฌํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ(https://www.youtube.com/watch?time_continue=505&v=ttLRltNDiCo&feature=emb_title)
๋ฆฌ์คํธ์ ์์ฐจ์ ์ผ๋ก ์ ๊ทผํด์ผ ํ ๋, ๋ ๊ฐ์ ์ ์ ์์น๋ฅผ ๊ธฐ๋กํ๋ฉด์ ์ฒ๋ฆฌํ๋ ์๊ณ ๋ฆฌ์ฆ.
๋ฆฌ์คํธ์ ๋ด๊ธด ๋ฐ์ดํฐ์ ์์ฐจ์ ์ผ๋ก ์ ๊ทผํด์ผ ํ ๋, ์์์ ๊ณผ ๋์ 2๊ฐ์ ์ ์ผ๋ก ์ ๊ทผํ ๋ฐ์ดํฐ์ ๋ฒ์๋ฅผ ํํํ ์ ์๋ค.
ex. ํน์ ํ ํฉ์ ๊ฐ์ง๋ ๋ถ๋ถ ์ฐ์ ์์ด ์ฐพ๊ธฐ
n = 5 # ๋ฐ์ดํฐ์ ๊ฐ์ n
m = 5 # ์ฐพ๊ณ ์ ํ๋ ๋ถ๋ถํฉ m
data = [1, 2, 3, 2, 5] # ์ ์ฒด ์์ด
count = 0
interval_sum = 0
end = 0
# start๋ฅผ ์ฐจ๋ก๋๋ก ์ฆ๊ฐ์ํค๋ฉฐ ๋ฐ๋ณต
for start in range(n):
# end๋ฅผ ๊ฐ๋ฅํ ๋งํผ ์ด๋
while interval_sum < m and end < n:
interval_sum += data[end]
end += 1
# ๋ถ๋ถํฉ์ด m์ผ ๋ ์นด์ดํธ ์ฆ๊ฐ
if interval_sum == m:
count += 1
interval_sum -= data[start]
print(count)
๐ฉ sorted(์๋ฃํ, key=lamda x: x[1])
์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๊ณ ์ํ์ ๋ณํ์ํค์ง ์๋๋ค.
๋งค๊ฒ๋ณ์ key๋ ์ ๋ ฌ์ ๋ชฉ์ ์ผ๋ก ํ๋ ํจ์๋ฅผ ๊ฐ์ผ๋ก ๋ฃ๋๋ค. ์ด๋, lamda๋ฅผ ๋๊ฒจ์ฃผ๋ฉด ์ฐ์ ์์๊ฐ ์ ํด์ง๋ค.
a =[(1, 2), (5, 1), (0, 1), (5, 2), (3, 0)]
c = sorted(a, key = lamda x : x[0])
c = [(0, 1), (1, 2), (3, 0), (5, 1), (5, 2)]
d = sorted(a, key = lamda x : x[1])
d = [(3, 0), (5, 1), (0, 1), (1, 2), (5, 2)]