์ฝ๋ฉํ ์คํธ ์ ๋ฌธ | ํ๋ก๊ทธ๋๋จธ์ค ์ค์ฟจ
์ฝ๋ฉํ ์คํธ์ ์ฒ์ ๋์ ํ๋ ์ฌ๋๋ค์ ์ํ ์ ๋ฌธ ๋ฌธ์ ๋ชจ์. ์ฌ์ด ๋ฌธ์ ๋ถํฐ ํ๋์ฉ ๋์ ํด ๋ณด๋ฉด์ ์ฝ๋ฉํ ์คํธ์ ์์ ๊ฐ๋ ๋ถ์ด๊ณ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ ํค์๋ณด์ธ์!
school.programmers.co.kr
1. ๋ฌธ์ ์ค๋ช
์ ์ num1๊ณผ num2๊ฐ ์ฃผ์ด์ง ๋,
num1๊ณผ num2์ ํฉ์ returnํ๋๋ก soltuion ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
2. ์ ์ถ๋ ฅ ์
#1
num1์ด 2์ด๊ณ num2๊ฐ 3์ด๋ฏ๋ก 2 + 3 = 5๋ฅผ returnํฉ๋๋ค.
#2
num1์ด 100์ด๊ณ num2๊ฐ 2์ด๋ฏ๋ก 100 + 2 = 102๋ฅผ returnํฉ๋๋ค.
3. ๋ฌธ์ ํ์ด
๋ด๊ฐ ํผ ํ์ด
def solution(num1, num2):
answer = -1
answer = num1 + num2
return answer
๋ค๋ฅธ ์ฌ๋์ด ํผ ํ์ด
solution = lambda *x:sum(x)
๋ค๋ฅธ ์ฌ๋์ด ํผ ํ์ด๋ฅผ ๋ค์ด๊ฐ์ ํ์ธํด๋ณด๋ ์ฒ์๋ณด๋ ํํ์ ์ฝ๋๊ฐ ์์๋ค. ๋ฌผ๋ก lambda๋ ๋ง์ด ๋ดค๋๋ฐ *x๊ฐ ๋ญ์ง ๋ชฐ๋ผ์, ์์๋ณธ ๊น์ ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํด๋๋ฉด ๋์์ด ๋ ๊ฒ ๊ฐ์ ์ด๋ ๊ฒ ์ ์ด๋ณด๋ ค ํ๋ค.
4. lambda์ ๊ฐ๋ณ ์ธ์
lambda
- ์ต๋ช ํจ์(์ด๋ฆ ์๋ ํจ์)๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ค.
- ์ผ๋ฐ ํจ์๋ def๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ด์ ๋ฌ๋ฆฌ lambda๋ ํ ์ค๋ก ๊ฐ๋จํ ์ ์ ๊ฐ๋ฅํ๋ค.
*x
- ํจ์์ ๋งค๊ฐ๋ณ์ ์์ *๊ฐ ๋ถ์ผ๋ฉด ๊ฐ๋ณ์ธ์๋ฅผ ๋ฐ๋๋ค๋ ์๋ฏธ๊ฐ ๋๋ค.
- ๋ช ๊ฐ์ ์ธ์๊ฐ ๋ค์ด์ฌ์ง ์ ํด์ ธ ์์ง ์๊ณ , ๋ค์ด์จ ๋ชจ๋ ์ธ์๊ฐ ํํ๋ก ๋ฌถ์ธ๋ค.
์์์ฝ๋
def f(*x):
print(x)
f(1, 2, 3)
f = lambda *x: x
print(f(1, 2, 3))
print(f(10, 20, 30, 40))
# ์ถ๋ ฅ
# (1, 2, 3)
# (10, 20, 30, 40)
์ฒซ๋ฒ์งธ ์ฝ๋๋ฅผ ๋ณด์. 1, 2, 3์ด๋ผ๋ ๊ฐ๋ค์ด ํจ์ ์์ผ๋ก ๋ค์ด๊ฐ ๋ ์๋์ผ๋ก (1, 2, 3)์ด๋ผ๋ ํํ์ด ๋๋ค. ์ด๋ ํํ์ ํ์ด์ฌ ์๋ฃํ ์ค ํ๋๋ก, ์์๊ฐ ์๋ ์ฌ๋ฌ ๊ฐ์ ํ ๋ฉ์ด๋ฆฌ๋ก ์ ์ฅํ๋ค. ํํ์ ์๊ดํธ๋ฅผ ์ฐ๋ ์์๋์!
solution = lambda *x:sum(x)
sum์ ํ์ด์ฌ์ ๋ด์ฅํจ์๋ก ์์์ x ๊ฐ์ ๋ํด์ค๋ค.
๋ด๊ฐ ํผ ํ์ด๋ ๋ฑ ๋ ๊ฐ์ ๊ฐ๋ง ๋ค์ด์์ ๋ ํ ์ ์์๋ค. ํ์ง๋ง ์ด ํ์ด๋ ์ฌ๋ฌ ๊ฐ์ ์ธ์๊ฐ ๋ค์ด์๋ ํํ๋ก ๋ฐ์ ์ฒ๋ฆฌํ๋, ์ธ์์ ๊ฐฏ์๊ฐ ์ผ์ ํ์ง ์์ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ฉด ์์ฃผ ํจ์จ์ ์ผ ๊ฒ ๊ฐ๋ค.
def solution(*x):
return sum(x)
์ผ๋ฐ ํจ์์ ๊ฐ๋ณ ์ธ์๋ฅผ ํจ๊ป ์จ๋ดค๋ค.
'๐ง CodingTest' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] F-string (0) | 2025.09.05 |
---|---|
[Python] ํ๋ก๊ทธ๋๋จธ์ค - ์ฝ๋ฉํ ์คํธ ์ ๋ฌธ : ๋ชซ ๊ตฌํ๊ธฐ / floordiv์ ๋ํ์ฌ (2) | 2025.08.21 |
[Python] 2์ฐจ์ ๋ฆฌ์คํธ(๋ฐฐ์ด) (0) | 2025.07.02 |
[Python] ๋ฆฌ์คํธ์ ๋ฐฐ์ด (3) | 2025.06.28 |
[Python] CodeUp ๊ธฐ์ด 100์ _ 6096 : ๋ฐ๋์ ์ญ์ ๋ค์ง๊ธฐ (1) | 2025.06.27 |