1012번 - 유기농 배추
arr1과 arr2의 출력 값이 왜 달라지나요??
arr2처럼 해서 배추의 위치를 입력 받고, 2차원 리스트 값을 변경하려고 했는데 왜 arr2[y][x]의 모든 y에 대해서 [x]에 해당하는 숫자가 1로 바뀌는지 모르겠습니다 ...
아직 아무것도 안 풀었는데 입력 받는 것부터 잘 안 되어서 ㅠ ㅠ 도와주시면 감사하겠습니다.
깊은 복사와 얕은 복사에 관한 문제인것 같네요
arr2는 [0]*m을 n번 복사하여 만들어진 배열로
배열 내부의 값들이 같은 포인터를 가지게 됩니다.
저같은 경우는 이렇게 배열 선언을 하는 대신
arr2 = [[0]*m for _ in range(n)]
처럼 선언하여 배열을 복사하는게 아닌 n번 새로 만드는 코드를 활용합니다.
너무 감사합니다 ㅠㅠ!!!
댓글을 작성하려면 로그인해야 합니다.
ima9ine 1년 전 1
arr1과 arr2의 출력 값이 왜 달라지나요??
arr2처럼 해서 배추의 위치를 입력 받고, 2차원 리스트 값을 변경하려고 했는데
왜 arr2[y][x]의 모든 y에 대해서 [x]에 해당하는 숫자가 1로 바뀌는지 모르겠습니다 ...
아직 아무것도 안 풀었는데 입력 받는 것부터 잘 안 되어서 ㅠ ㅠ 도와주시면 감사하겠습니다.