https://programmers.co.kr/learn/courses/30/lessons/12914?language=cpp


사실 이 문제가 피보나치 수열의 규칙이 있어서 피보나치로 풀어도 됨.


근데 오랜만에 보니까 완전 탐색으로 될 거 같은 거양.


매 선택마다 1을 고를지, 2를 고를지 모든 경우의 수를 다 해보는 거지.


그래서 매 선택을 sum에 누적시켜서 sum이 n과 같아지면 경우의 수 하나 추가!


만약 sum이 n을 넘어가면 그건 실패니까 return 0 했음.


근데 채점해보니까 시간초과랑 예외가 좀 있더라공...


시간 초과가 나는 건 이해를 함.


왜냐면 얘는 메모이제이션을 적용할 수가 없음. 


sum의 값으로만 메모제이션을 하면 


지난 선택에서 1,1,2 이렇게 골랐는지 


1,2,1 이렇게 골랐는지 상관없이 합으로 메모이제이션 하니까 값이 더 적어짐.


그래서 시간초과가 날 거라 생각함


근데 예외는 왜 나는 거지? 모든 경우의 수를 다 돌리는 건뎅;


viewimage.php?id=3dae&no=24b0d769e1d32ca73cee84fa11d02831cd949b6924735c7cb75a680f5f9c0fd54dc9808d72cf84020765f6c8400ba6be9cc655a56da8f10297