관리 메뉴

사적공간

swift playground 배열.제거된 값 첨부하기 본문

ios

swift playground 배열.제거된 값 첨부하기

2sac 2023. 2. 15. 10:23

 

배열에 대한 이해가 부족하고, 익숙하지 않아서 시간이 많이 걸렸다. 주석은 어지러워서 아래 씀 

 

 

-변수 aa = 2열에 대한 모든 좌표값 

-변수 bb = 좌표형 데이터(coordinate)를 담는 빈 배열 

-외부 for i 문은 열의 개수 이하(1...5)로 선언되어 아래 for k 문과 bb.append 문을 5번 반복한다. 

-내부 for k 문은 블록을 aa 배열의 원소의 개수만큼 원소 1에서 사작하여 반복함. aa 배열에서 k 변수로 원소를 받아서 그 아래 place 문에서  k를 위치로 (at) 삼아 블록을 배치하겠다는 말 

-bb.append문은 aa배열에서 원소의 위치 0에 있는 첫번째 원소를 제거하여 bb배열의 맨 뒤에 첨부(append) 하겠다는 말임. 

 

for문 전체를 보면

 

외부 for문 첨자 i = 1, for k문이 돌며 aa배열의 개수만큼 column(2)를 가득매움. 내부 for문을 빠져나와서 외부 bb.append문에서 aa 배열의 첫번째 원소를 삭제하여, bb배열 뒤에 첨부함. bb는 현재 빈 배열이므로, 이게 bb의 첫번째 원소가 됨. 

 

두 번째 회전에서 이전 for문 회전에서 aa배열의 첫번째 원소가 삭제되었기 때문에 내부 for문이 돌때, 시작 위치는 같은 열에 두번째 행임. 끝까지 블록으로 메우고 for문을 빠져나가서 첫번째 원소가 삭제된 aa배열의 두번째 원소를 삭제함. at: 0으로 해도 배열의 원소가 삭제되면서 index의 위치도 함께 변경되므로 인덱스가 1이었던 원소가 인덱스가 0인 원소로 변경되는 것임. 

 

이 과정을 반복하면 계단식으로 블록이 형성됨

 

마지막 캐릭터를 놓는 for문으로 bb배열에 저장된 좌표들과 개수를 볼 수 있음.