Pipe Function
Pipe Function - Explanation
Problem Summary
Write a pipe function that composes functions from left to right.
Go to Problem →Detailed Explanation
이 문제는 **함수 합성(function composition)**의 파이프 패턴을 구현하는 방법을 학습합니다. ## 핵심 개념: 파이프 (Pipe) 파이프는 여러 함수를 왼쪽에서 오른쪽으로 순차적으로 적용합니다. ### 접근 방법 ```javascript function pipe(...fns) { return x => fns.reduce((acc, fn) => fn(acc), x); } ``` ### 동작 원리 ```javascript pipe(f, g, h)(x) = h(g(f(x))) ``` - f(x)의 결과를 g에 전달 - g의 결과를 h에 전달 - 왼쪽 → 오른쪽 순서 ### pipe vs compose ```javascript pipe(f, g, h)(x) // f → g → h (왼쪽에서 오른쪽) compose(f, g, h)(x) // h → g → f (오른쪽에서 왼쪽) ``` ### 실무 활용 ```javascript const process = pipe( trim, toLowerCase, split(' '), join('-') ); process(" Hello World "); // "hello-world" ``` 파이프는 데이터 처리 파이프라인을 직관적으로 표현합니다.
Solution Code
function pipe(...fns) {
return x => fns.reduce((acc, fn) => fn(acc), x);
}Key Concepts from This Problem
Common Mistakes
Hints
Complexity Analysis
Time Complexity
O(n)
Grows linearly with input size
Space Complexity
O(1)
Uses almost no additional memory