python 복사 단순 객체복사 vs shallow copy vs deep copy
코드를 짜다보면 객체 복사를 하는 경우가 많다 아마 이 글을 읽는 사람은 deep copy의 존재를 알고있기 때문에 들어왔는데 복사의 개념이 머리속에 없는 사람들은 단순 객체 복사만을 사용하고 있는 경우가 많을 것이다. 1. 단순 객체 복사 a = [x for x in range(10)] b = a # shallow copy print(b) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b[0] = 10 print(b) # [10, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(a) # [10, 1, 2, 3, 4, 5, 6, 7, 8, 9] 변수 b에 a를 그냥 바로 담았다. b의 값을 변경하는 경우 원본 데이터 a도 바뀌어버렸다. a와 b가 동일한 객체를 참조하기 때문이다. ..
2020. 10. 19.
백준 10026번: 적록색약 (python, 파이썬)
문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 예를 들어, 그림이 아래와 같은 경우에 RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1) 하지만, 적록색약인 사람은 구역을 3개 볼 수 있다...
2020. 10. 19.