wnsrl4067   2년 전

A,B갯수를 2차원 배열로 저장해서,

DP[i][0] = A의 갯수

DP[i][1] = B의 갯수

로 나눠서 세어주려고 했는데, 

K=4일떄, (2,4)의 값이 나옵니다..

K =3 일 때, DP[2] = [1,2] 라는 뜬금없는 값이 나옵니다.

분명, DP[2] =[1,1] 이어야 하는데 말이죠.

K=2 일때, DP[2] = [1,1] 정상적으로 나옵니다.

왜 K=3 일때, 갑자기 DP[2]의 값이 변동할까요?

ai4youej   2년 전

4번째 줄에서 DP배열 선언이 잘못되었습니다. 얕은 복사가 일어납니다.

DP = [[0, 0] for _ in range(k+1)] 와 같이 선언해주셔야합니다.

wnsrl4067   2년 전

앗..선언 방식에 따라서, 얕은복사와 깊은 복사가 달라지는 군요.. 한번 찾아봐야겠습니다. 감사합니다

댓글을 작성하려면 로그인해야 합니다.