์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ์ค max() ํจ์์ ๋ํด ํท๊ฐ๋ ค์ ์ ๋ฆฌ!!
๊ธฐ๋ณธ์ ์ผ๋ก max ํจ์๋ผํ๋ฉด max (1,10 ) ์ผ ๊ฒฝ์ฐ 10์ด ๋ฐํ๋๊ณ , max(-10,5) ์ด๋ฉด 5๊ฐ ๋ฐํ๋๋
๋๊ฐ์ ์ ์ค์์ ๋ ํฐ ์๋ฅผ ๋ฐํํ๋ ํจ์๋ก ์๊ณ ์์๋ค.
ํ์ง๋ง max ์ iterable ๊ฐ์ฒด์ธ ๋ฆฌ์คํธ, ํํ (์ฆ ๋ฐ๋ณต๊ฐ๋ฅํ๊ฒ๋ค)์ด max(iterable, key) ์ด๋ฉด ์ฌ์ฉ๋ฒ์ด ์กฐ๊ธ ๋ค๋ฅด๋ค.
๊ฐ์ฅ ํฐ ์๋ฅผ ์ฐพ๋๊ฑฐ์ ๋ํ๊ฑด ๋ง์ง๋ง iterable ๊ฐ์ฒด๋ฅผ ๋์์ผ๋ก key์ ์ค์ ๋์ด์ง ๊ธฐ์ค์ ์ํด ๊ฐ์ฅ ํฐ ์๋ฅผ ์ฐพ๋๋ค.
์๋ ๊ฐ๋ ๋ฐ ์์ ์ฐธ๊ณ !
๐ max() ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
numbers = [10, 3, 7, 20, 15] print(max(numbers)) # ๊ฒฐ๊ณผ: 20 (๊ทธ๋ฅ ์ต๋๊ฐ ์ฐพ์)
โ
์ฌ๊ธฐ์๋ ๋ฆฌ์คํธ ์์ฒด์์ ์ซ์ ๋น๊ต๋ฅผ ํด์ ์ต๋๊ฐ์ ์ฐพ์.
โ
ํ์ง๋ง (๋ฒํธ, ์ํ๋)์ฒ๋ผ ํํ์ด ๋ค์ด ์์ผ๋ฉด? ์ด๋ค ๊ฑธ ๊ธฐ์ค์ผ๋ก ๋น๊ตํ ์ง ์ ํด์ผ ํจ.
๐max(iterable, key=๊ธฐ์คํจ์) ๋ฌธ๋ฒ
max()๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฃผ์ด์ง ๋ฆฌ์คํธ(์ดํฐ๋ฌ๋ธ)์์ ๊ฐ์ฅ ํฐ ๊ฐ์ ์ฐพ๋ ํจ์์ผ.
๐ max()์ ๊ณต์ ๋ฌธ๋ฒ:
max(์ดํฐ๋ฌ๋ธ, key=๊ธฐ์คํจ์)
- ์ดํฐ๋ฌ๋ธ(iterable): ๋ฆฌ์คํธ, ํํ ๋ฑ ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด
- key=๊ธฐ์คํจ์: ์์๋ฅผ ๋น๊ตํ ๋ ์ฌ์ฉํ ๊ธฐ์ค ํจ์
์ฆ, key๋ ์ ๋ ฌ(๋น๊ต) ๊ธฐ์ค์ ์ค์ ํ๋ ์ญํ ์ ํจ.
๐ key๋ฅผ ์ฌ์ฉํ ์์
1๏ธโฃ ๋ฌธ์์ด์์ ๊ฐ์ฅ ๊ธด ๋จ์ด ์ฐพ๊ธฐ
words = ["apple", "banana", "cherry", "blueberry"]
longest_word = max(words, key=len)
print(longest_word) # ๊ฒฐ๊ณผ: "blueberry"
โ
max()๊ฐ words ๋ฆฌ์คํธ๋ฅผ ํ์ํ๋ฉด์ len()์ ์ฌ์ฉํด ๋จ์ด ๊ธธ์ด๋ฅผ ๋น๊ต!
โ
์ฆ, ๊ฐ์ฅ ๊ธด ๋ฌธ์์ด์ ์ฐพ๋ ๊ฒ!
2๏ธโฃ ํํ ๋ฆฌ์คํธ์์ ํน์ ๊ฐ ๊ธฐ์ค์ผ๋ก ๋น๊ตํ๊ธฐ
people = [("Alice", 25), ("Bob", 30), ("Charlie", 20)]
oldest = max(people, key=lambda x: x[1])
print(oldest) # ๊ฒฐ๊ณผ: ('Bob', 30)
โ
key=lambda x: x[1] → ํํ์ ๋ ๋ฒ์งธ ๊ฐ(๋์ด)์ผ๋ก ๋น๊ต
โ
๋์ด๊ฐ ๊ฐ์ฅ ๋ง์ Bob(30์ธ) ๊ฐ ์ ํ๋จ.
3๏ธโฃ ์ฐ๋ฆฌ๊ฐ ๊ถ๊ธํ๋ max(Q, key=lambda x: x[1])
Q = [(0, 60), (1, 50), (2, 70), (3, 80), (4, 90)]
result = max(Q, key=lambda x: x[1])
print(result) # (4, 90)
โ
key=lambda x: x[1]
โ
Q์ ๊ฐ ์์์์ ํํ์ ๋ ๋ฒ์งธ ๊ฐ(์ํ๋)์ ๊ธฐ์ค์ผ๋ก ๋น๊ต
โ
์ํ๋๊ฐ ๊ฐ์ฅ ๋์ (4, 90) ์ด ์ ํ๋จ.
๐ ๊ฒฐ๋ก
โ key๋ max()์ ๋งค๊ฐ๋ณ์(๋ฌธ๋ฒ์ ์ธ ์์)
โ key=๊ธฐ์คํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋น๊ต ๊ธฐ์ค์ ์ง์ ์ค์ ๊ฐ๋ฅ
โ lambda๋ฅผ ํ์ฉํ๋ฉด ๊ฐ๋จํ๊ฒ ํํ์ ํน์ ์์, ๋ฌธ์์ด ๊ธธ์ด ๋ฑ์ ๋น๊ตํ ์ ์์.
'์๊ณ ๋ฆฌ์ฆ ๐ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
8.๋จ์ด์ฐพ๊ธฐ(ํด์ฌ)_ํ์ด์ฌ (0) | 2025.02.18 |
---|---|
7. ๊ต์ก ๊ณผ์ ์ค๊ณ(ํ)_ํ์ด์ฌ (0) | 2025.02.18 |
6. ์๊ธ์ค(ํ)_ํ์ด์ฌ (0) | 2025.02.17 |
5. ๊ณต์ฃผ๊ตฌํ๊ธฐ(ํ)_ํ์ด์ฌ (0) | 2025.02.17 |
3. ํ์ ํ๊ธฐ์ ๋ง๋ค๊ธฐ : infix-->postfix (์คํ) (0) | 2025.02.13 |