-
재귀Technician 2022. 4. 12. 17:56
프로그램을 하면서 만난 개념 중에 가장 특이한 개념은 재귀 함수(recursive call)다.
함수중 스스로 다시 자기를 호출하는 함수를 말하는데, 보통 Dynamic programing을 해결하는 데 사용된다.
https://codingcompetitions.withgoogle.com/codejam/archive/2022
구글 Codejam round1A 의 weightlifting이 재귀 함수로 풀 수 있는 문제인데, 처음에 이 개념을 접하면
앞뒤가 바뀌고 시작이 끝이되는 구조 때문에 해답을 봐도 무슨 애기인지 머리를 긁적이게 된다.
그리고 실제로 해결책을 만들어 내려면 더 난해하게 되는데, 위 코드잼 문제는 만명중 천명 정도만 적어도 손이라도 대봤으니
대략 10% 정도만 해결책을 만들어내는 성공했다.
요는 문제를 작은 문제들로 나누는 것과 그렇게 나누어진 문제들을 해결할 수 있는 재귀 함수 하나로 만들어 낼 수 있어야 한다.
물론 나도 위 문제는 못 풀고, 해설을 해독하는데 한참이 걸렸다. 아직도 프로그램의 정수에 도달하려면 한참 모자란 듯.
반응형'Technician' 카테고리의 다른 글
거대 조직 (0) 2022.12.14 한번에 코딩 (0) 2022.08.21 코딩 문제1: 큰 숫자 계산 (arithmatic operation with very big number) (0) 2018.03.25 나의 프로그래밍 수준 (0) 2017.08.20 코딩 (0) 2017.06.05