๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿง CodingTest

[Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์ž…๋ฌธ : ๋‘ ์ˆ˜์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ / lambda์™€ ๊ฐ€๋ณ€์ธ์ž *

by ._.sori 2025. 8. 20.

 

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ์— ์ฒ˜์Œ ๋„์ „ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ์ž…๋ฌธ ๋ฌธ์ œ ๋ชจ์Œ. ์‰ฌ์šด ๋ฌธ์ œ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ๋„์ „ํ•ด ๋ณด๋ฉด์„œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์— ์ž์‹ ๊ฐ๋„ ๋ถ™์ด๊ณ  ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ํ‚ค์›Œ๋ณด์„ธ์š”!

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)
์ผ๋ฐ˜ ํ•จ์ˆ˜์™€ ๊ฐ€๋ณ€ ์ธ์ž๋ฅผ ํ•จ๊ป˜ ์จ๋ดค๋‹ค.