함수 문제는 입력, 반환, 변수 수명을 나눠 읽는다
함수는 코드를 기능 단위로 묶지만, 값이 어떻게 전달되고 어느 범위에서 살아 있는지까지 봐야 합니다.
함수로 들어오는 값
값 전달인지 주소 전달인지에 따라 원본 변경 가능성이 달라집니다.
함수 실행 결과
반환형과 실제 return 값이 맞는지 확인합니다.
변수를 사용할 수 있는 범위
지역변수, 전역변수, static 변수의 수명 차이를 구분합니다.
자기 자신을 다시 호출
종료 조건이 없으면 무한 호출로 이어지므로 base case를 먼저 찾습니다.