Day6. 배열

akay·2021년 10월 2일
0

Swift 기초

목록 보기
6/8
post-thumbnail

💡 Arr

하나의 변수에 여러개의 값을 담고 싶을 때에 사용한다.

배열이외에 튜플과 딕셔너리 셋 도 존재하나 추후 포스팅 할 예정

CRUD **

  1. Create 배열생성

  2. Read 배열 읽기

  3. Update 배열 변경 및 수정

  4. Delete 배열 삭제

배열 생성방법 (Create)

배열을 생성방식 3가지
1.초기값이 있을때
2.자료형과 초기값 따로 생성
3.자료형과 초기값 동시에 생성


var arr1 = [11,22,33,44,55] //초기값이 있을때 바로 선언가능

var arr2:[Int] //배열의 자료형을 선언
arr2 = [] //배열의 초기값 선언 


var arr3 = Array<Int> = [] //배열의 자료형과 초기값을 동시에 선언
var arr5 = [Int]() //배열의 자료형과 초기값을 동시에 선언
var arr6 = Array<Int>() //배열의 자료형과 초기값을 동시에 선언
var arr7:[Int] = [Int]()//배열의 자료형과 초기값을 동시에 선언
var arr8:[Int] = Array<Int>()//배열의 자료형과 초기값을 동시에 선언
//여러 방법이 존재 

배열을 출력 및 변경 제거 가능 (Read Update Delete)

var arr = [11,22,33,55,77]

print(arr.count) // 배열 원소의 갯수를 출력

arr[2] = 5555
//arr[5] = 1010 배열 없는인덱스에 추가는 x 추가 메소드를 써줘야함
print(arr)

arr.append(100) // 맨 뒤에 원소를 추가
print(arr)

arr.insert(222, at: 3) // 3번째 자리에 밀고 들어가 삽입됨
print(arr)

arr.insert(contentsOf: [4,5,6], at: 4) //여러 원소를 4번째 자리에 밀고 들어가 삽입
print(arr)

arr[2...4] = [77,88] // 2,3,4 인덱스번호의 원소를 지우고 값에 해당하는 원소를 삽입
print(arr)

arr.remove(at: 5) //5번 인덱스의 원소 삭제
print(arr)

arr.removeFirst() //첫번째 인덱스 원소 제거
print(arr)

arr.removeLast() // 마지막 인덱스 원소 제거
print(arr)

arr.removeSubrange(2...3) //2~3번째 인덱스 원소를 제거
print(arr)

print(arr.first!)
print(arr.last!)
print(arr.firstIndex(of: 77)!) // 원소의 존재하면 인덱스번호 출력
print(arr.contains(77)) //원소의 존재여부
print(arr.lastIndex(of: 77)!)


var ss1 = arr.prefix(3) //앞에서부터 3개의 원소를 가져옴
print(ss1)

var ss2 = arr.suffix(3) // 뒤에서부터 3개의 원소를 가져옴
print(ss2)
                                             
var ss3 = arr[1...2] //중간에서 원소를 가져옴
print(ss3)

arr.replaceSubrange(1...3, with: [23,34,45,67,78,89])
print(arr)

var arr2 = arr.reversed() //revsersed는 자신이 바뀌는게 아니라 리턴값만 바뀐다.
print(arr)
print(Array(arr2))
arr.reverse()
print(arr)

var arr3 = arr.sorted()
var arr4 = arr.sorted(by:>)
print(arr3)
print(arr4)

연습문제

67,78,54,91,88,63,87,75,82
1.점수 중에서 합격자들의 가장 낮은 점수 3개를 출력하세요
합격 커트라인 : 70
2. 합격자들의 평균을 출력하세요

var point = [67,78,54,91,88,63,87,75,82]

var succ :[Int] = []
var sum = 0
for i in point{    
   if i >= 70{
       succ.append(i)
       sum += i
   }
}
succ.sort()
print("점수의 3개는\(succ.prefix(3))이고 평균은 \(sum/succ.count)이다")

💡 MulArr 다차원 배열

여러 배열들을 모아서 변수에 넣고싶을때에 사용한다
예시로 학교 내 반 학생들의 점수를 모으려면 1차원 배열로 해결되지만 1학년들 각 반들의 학생점수를 모으려면
2차원 배열 (학년, 반 의 배열이 필요)을 사용해야한다.

var 변수명 = [
[],[],[]
] 으로 사용가능


let name = ["현  빈","원  빈","장희빈","젤리빈","커피빈"]

let nn = [7,8,1,3,2]

let jum = [
    [77,88,11],
    [72,83,51],
    [74,84,14],
    [67,48,31],
    [72,38,51]
]

for i in 0..<name.count{
    
    //var tot = jum[i][0]+jum[i][1]+jum[i][2]
    var tot = 0
    for j in jum[i]{
        tot += j
    }
    
    print("\(i) \t\(name[i])\t\(nn[i])\t\(jum[i])\t\(tot)\t\(tot/jum[i].count)")
}
profile
iOS Developer

0개의 댓글

관련 채용 정보