백준 온라인 저지먼트 문제를 1 ~ N까지 찍어보라는 초 간단
단순한 문제지만 for 쓰기 싫어서 재귀로 풀어봤습니다. ㅎ
코드는 아래와 같습니다.
(function(){
var input = 10;
(function(input) {
if(input === 1){
return console.log(input); //input이 1이면 1찍고 리턴합니다.
}
//console.log(input) 을 여기에두면 1 ~ 10 이 아니라 10 ~ 1이 출력됩니다
recursive(input -1); //재귀적으로 recursive를 다시 호출합니다.
console.log(input); //recursive가 리턴되면 console.log()가 실행됩니다.
})(input); //함수 호출
})();
문제는 for문 쓰라고 했지만 for문 귀찮기도 하고, 얼마전에 for문 쓰지 말라는 글을 봐서
for문을 지양하는 코드를 사용해 봤습니다.
물론 성능만 따지자면 for문이 더 낫지만, javascript의 특징으로 따져보자면, scope를 생성하지 않는(let 제외)
for문은 지양하는 것이 적절 할 듯합니다. 이런걸 함수형 프로그램이라고 하나요? input output을 확실히 한다는 점에서요.
아직 함수형 프로그래밍 기법이 뭔지 모르니 뭐라 말할 자격은 없는 것 같습니다.
집에 박아논 함수형 프로그래밍 책이나 읽어야 겠네요.