티스토리 뷰

반응형

안녕하세요! Zedd입니다.

오늘은 간단한 걸 알려드릴려고 해요 ㅎㅎ

우리 < Array 사용해보기 (1/2) >에서 크기가 정해진 1차원 배열을 만드는 방법을 알아봤어요.

오늘은 2차원!! 즉 크기가 정해진 2차원 배열을 만드는 방법을 알아봅시다. 

간단해요!


크기가 정해진 2차원 배열 만들기




< Array 사용해보기 (1/2) >에서 크기가 정해진 1차원 배열을 어떻게 만들었었죠? 

var threeDoubles = [Int](repeating: 0, count: 3) //[0,0,0]

var threeDoubles2 = Array(repeating: 0, count: 3) //[0,0,0]

var threeDoubles4 = [String](repeating: "A", count: 3) //["A","A","A"]

네. 이렇게 만들었는데요!!
여기서, 2차원은 어떻게 만들 수 있을까요?

파라미터를 살펴보면, repeating넣을 초기값, count는 배열의 크기를 의미해요. 
초기값을 몇개나 넣을꺼냐?라는 거니까요.

2차원은 배열안에 또 배열이 있는 거죠? 즉, 배열안에 ""으로 또 배열이 있는거에요. 그러니까!
repeating에 배열을 넣어주면 된답니다!!ㅎㅎ
예제 하나를 살펴볼까요?


var arr : [[Int]] = Array(repeating: Array(repeating: 1,count:5 ), count: 3)


첫번째 파라미터인 repeating에!! 또 크기가 정해진 배열을 만드는 Array(repeating: ,count: )메소드가 들어갔네요.

위 코드의 의미를 아시겠나요? 결과는 또 어떻게 나올지?


자, 우리는 반복될 배열을 넣어줬죠? 값이 될 이 배열은 또 1을 값으로 하고 5개가 들어갈 건가봐요. 

그럼..[1, 1, 1, 1, 1]이 값으로 들어가 있는데 그게 3번 들어갈 거라네요?

그럼 결과는?


[[1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1]]



짠! 이런식으로 들어가게 된답니다. 


위코드를 조금 줄여보자면, Array대신 아예 타입을 넣어줘도 된답니다. 

var arr2 = [[Int]](repeating: Array(repeating: 1,count: 5 ), count: 3)

이렇게요.


다른 타입도 당연히 되겠죠? 

var arr3 = [[String]](repeating: Array(repeating: "Zedd",count: 2 ), count: 4)

//[["Zedd", "Zedd"], ["Zedd", "Zedd"], ["Zedd", "Zedd"], ["Zedd", "Zedd"]]


간단하죠? 

ㅎㅎ PS하면서 Swift를 많이 알아가는 것 같아요 :) 

오늘도 도움이 되었으면 좋겠어요 😆

반응형

'Swift' 카테고리의 다른 글

Swift ) Generic  (7) 2017.09.22
Swift ) Equatable  (4) 2017.09.18
Swift ) 랜덤함수 차이  (0) 2017.09.11
Swift ) Any와 AnyObject의 차이  (1) 2017.09.10
Swift ) Set : insert와 update의 차이  (1) 2017.09.05