먼저 2차원 리스트 생성시 진행한 실수부터 짚고 넘어가자 dp = [[0]*n]*2 이짓거리 했더니 dp[0]과 dp[1]이 동시에 변경된다. (하나만 접근해도). 아마 주소가 복사되는 형태인 듯 하다. 그래서 dp = [[0]*n for x in range(2)] 이렇게 해줘야한다. 한참 머리가 아팠다.. 보통의 언어들은 call by value / call by reference 둘 중 하나를 취한다. 값을 설정할 때 a = 2 b = a 이렇게 진행 할 경우 b에 2라는 값(value)이 저장되면 call by value가 되고 a의 메모리 주소(reference)가 저장되면 call by reference가 된다. 이를 어떻게 알 수 있냐면 b를 수정해보면 된다. b를 수정했을 때 a도 동시에 수..