컬렉션의 개념
Array(정렬) : 데이터를 순서대로 저장하는 컬렉션
let numsArray: Array<Int> = [1,2,3,4,5]
- 배열의 인덱스는 0부터 자동으로 순서가 지정됨
- 데이터(요소)는 중복 가능
- 한 개의 배열에는 동일한 데이터 타입만 가능
Dictionary(딕셔너리): 데이터를 키와 값으로 하나의 쌍으로 만들어 관리하는 순서가 없는 컬렉션
let dic: Dictionary<String, String> = ["A":"Apple","B":"Banana"]
- 키값은 중복x, 밸류값은 중복가능
- 동일한 타입 쌍의 데이터만 가능
Set (집합) : 수학에서의 집합과 비슷한 연산을 제공하는, 순서가 없는 컬렉션
let set: Set<Int> = [1,1,2,3]
sorted()와 sort()의 차이점 정리
https://didu-story.tistory.com/206
1. 학생을 등록해요.
var students: [String: String] = [:]
students["001"] = "영희"
students["002"] = "철수"
2. 과목을 관리해요.
var subjects: [String: Set<String>] = [:]
subjects["철수"] = ["수학,"과학","영어"]
subjects["영희"] = ["수학","역사"]
//과목추가
subjects["철수"]?.insert("역사")
//과목삭제
subjects["영희"]?.remove("역사")
3. 과목 별 성적을 관리해요
var grades: [String: [String: [Int]]] = [:]
grades["철수"] = ["수학": [90, 85], "과학": [90], "영어": [90]]
grades["영희"] = ["수학": [75], "역사": [80]]
//성적 추가
grades["철수"]?["수학"]?.append(80)
//성적 삭제
grades["영희"]?["수학"]?.removeLast()
4. 평균 계산
func calculateAverage(for student: String, subject: String) -> Double? {
guard let studentGrades = grades[student], let subjectGrades = studentGrades[subject] else {
return nil
}
let total = subjectGrades.reduce(0, +)
return Double(total) / Double(subjectGrades.count)
}
if let average = calculateAverage(for: "월수", subject: "수학") {
print("월수의 수학 평균점수: \(average)")
} else {
print("월수의 수학점수가 없습니다")
}
'내배캠 사전캠프' 카테고리의 다른 글
운동 관리 시스템 구축하기 (1) | 2024.10.10 |
---|---|
은행계좌관리 시스템 구축 (0) | 2024.10.08 |
직사각형의 넓이와 둘레를 계산해요 (0) | 2024.09.30 |
내배캠 사전캠프) 데이터 다루기 실습 과제 (0) | 2024.09.23 |