⚑

Currying

Currying
어렀움 ν•¨μˆ˜ +40pts

Problem

Write a curry function that transforms a function into its curried form.

Examples

Input: curry((a, b, c) => a + b + c)(1)(2)(3)
Output: 6

Explanation

이 λ¬Έμ œλŠ” **컀링(currying)** νŒ¨ν„΄μ„ ν•™μŠ΅ν•©λ‹ˆλ‹€. ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ˜ 핡심 기법 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. **μ»€λ§μ΄λž€?** μ—¬λŸ¬ 인수λ₯Ό λ°›λŠ” ν•¨μˆ˜λ₯Ό ν•˜λ‚˜μ”© 인수λ₯Ό λ°›λŠ” ν•¨μˆ˜λ“€μ˜ 체인으둜 λ³€ν™˜ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€: `f(a, b, c)` β†’ `f(a)(b)(c)` **λ™μž‘ 원리** 1. ν˜„μž¬κΉŒμ§€ 받은 인수 κ°œμˆ˜μ™€ ν•„μš”ν•œ 인수 개수 비ꡐ 2. μΆ©λΆ„ν•˜λ©΄ 원본 ν•¨μˆ˜ μ‹€ν–‰ 3. λΆ€μ‘±ν•˜λ©΄ 더 λ§Žμ€ 인수λ₯Ό λ°›λŠ” μƒˆ ν•¨μˆ˜ λ°˜ν™˜ **curry((a, b, c) => a + b + c)(1)(2)(3) μ‹€ν–‰** 1. curried(1): args=[...

View detailed explanation β†’

Key Concepts

컀링 νŒ¨ν„΄ fn.length 속성 μž¬κ·€μ  ν•¨μˆ˜ λ°˜ν™˜ λΆ€λΆ„ 적용
Time: O(n) Space: O(n)
solution.js
Ctrl + Enter
Run tests to see results here.