Day6. 整列


💡 Arr


1つの変数に複数の値を含める場合に使用します.
レイアウトに加えて、tupleとdickshernerリセットが存在するかどうかは、後で位置決めされます.

CRUD **


  • アレイの作成

  • Readスキーマの読み込み

  • 更新シナリオの変更と変更

  • 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>()//배열의 자료형과 초기값을 동시에 선언
    //여러 방법이 존재 
    

    アレイの出力と変更を削除可能

    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 D配列(学年、クラスの配列が必要)を使用する必要があります.
    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)")
    }