팩토리얼
-
[자료구조] Stack(스택), Stack OverflowPS/알고리즘_자료구조 2023. 2. 5. 15:15
피드백과 정보 정정 댓글은 환영입니다 :) 오랜만에 티스토리에 글 쓰러 와보았다! 마지막 게시물에 1월 초인것을 보아하니 반성해야 될 감이;; 갑자기 스택에 대한 내용을 쓰기로 결심한 이유는 바로~ 지금 작업하고 있는 코드에서 스택 오버플로우 에러가 너무 많이 나서... 아마 이유는 과도한 재귀 함수 호출인 것 같아서... 본질부터 꿰뚫어보고자 기초 지식을 쌓기로 하였답니다 ㅎㅎ 1) Stack이란? 스택은 후입선출의 구조를 갖는 자료구조이다. 우리가 부추전을 여러장을 구워 쌓아놓았을 때, 가장 먼저 먹을 수 있는 전은 가장 위에 있는, 즉 이제 막 구워진 전인 것처럼 나중에 넣은 값이 가장 먼저 나오는 LIFO(Last In First Out) 구조라는 이야기이다. 이렇게 스택에 접근할 수 있는 요소는..
-
[Problem Solving] 재귀함수 개념 및 백준 예제/PythonPS/백준 2022. 7. 10. 00:44
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) 재귀 함수의 정의를 구글에 찾아보면 '어떠한 것을 정의할 때 자기 자신을 참조하는 것'이라는, 이해가 될 듯하면서 되지 않을 듯한 문장을 볼 수 있다! 이 애매모호한 정의(라고 해도 누군가가 공들여 작성한 것이겠죠? 죄송합니다)를 실제 프로그래밍 언어의 특성을 활용하여 다음과 같이 재정의해볼 수 있을 것이다. = 사전에 정의한 함수의 return 값에 도달할 때까지 자기 자신을 호출하는 함수. 재귀함수의 가장 대표적인 예시로는 팩토리얼 { n! = n * (n-1) * (n-2) ... 3* 2 * 1 } 함수가 있다. n! 을 구하기 위해 for문이나..