본문 바로가기

Swift랑 친해지기/Swift 책보면서 정리해보기31

[집단자료형] 튜플 (Swift) 튜플(Tuple) 여러 가지 타입의 아이템을 저장할 수 있는 집단 자료형 - 다른 집단 자료형 (배열, 집합, 딕셔너리)은 같은 타입의 아이템만 저장할 수 있음 튜플은 이외에도 특징이 여러가지 있음 특징을 알아보자 슈~~웃! 튜플의 특징 1. 선언되고 상수적 성격을 띠므로 오직 최초에 선언된 상태의 아이템만 사용할 수 있음 -> 즉 수정, 삭제, 추가 등 변경 불가능하단 뜻임! 2. 튜플 정의법 - 소괄호 () -> 소괄호 ()를 사용하여 아이템을 정의함 (, , ...) 3. 값의 동적 추가가 불가능해서 별도의 선언을 위한 구문이 없음 그러면 튜플에서는 선언 구문이 없는데 타입추론만 의지할까?? 땡!! 타입 어노테이션을 사용하기 위한 타입을 정의하는 방법이 있음 타입 어노테이션을 이용하여 튜플을 선언할.. 2022. 1. 27.
[집단 자료형] 집합 연산 (Swift) 집합 자료형끼리는 집합 연산을 할 수 있음요 기본 집합 연산 집합 연산의 결과값은 집합으로 구성됨 union(_:) (합집합) 양쪽 집합에 있는 모든 아이템을 선택하여 새로운 집합을 만들어주는 메소드 공통으로 있는 아이템이라고 중복해서 추가되지 않음 subtract(_:)(차집합) 한쪽 집합에서 다른 한쪽과 공통되는 아이템을 제외하고 새로운 집합을 만들어주는 메소드 intersection(_:) (교집합) 양쪽 집합에서 공통되는 아이템만 선택하여 새로운 집합을 만들어주는 메소드 symmetricalDifference(_:) 양쪽 집합중에서 어느 한쪽에만 있는 아이템을 선택하여 새로운 집합을 만들어주는 메소드 양쪽 집합 모두에 공통으로 있는 아이템은 제외 *subtract(차집합)을 제외하고 나머지는 양쪽.. 2022. 1. 26.
[집단자료형] 집합 Set (Swift) 집합이란?? -같은 타입의 서로 다른 값을 중복 없이 저장하고자 할때 사용하는 집단 자료형 -배열과 매우 유사하지만 순서가 그다지 중요하지 않은 데이터들이거나 중복 없이 한번만 저장되어야 하는 데이터들을 다룰 때 배열 대신 사용하는 자료형 -내부적으로 해시 (Hash)연산의 결과값을 이용해 데이터 저장 *해시 연산(Hash Algorithm)이 뭐임?? - 임의의 입력된 메시지를 고정 길이의 데이터 크기로 변환해주는 알고리즘 즉, 길든 짧든 고정된 길이의 데이터로 변환 함 해시연산의 여러가지 특성이 있는데 맛만 보자 - 해시값은 일련의 정수로 구성 - 대상의 값이 같다면 해시 연산 결과값도 일치함 - 스위프트에서 제공하는 모든 기본 타입은 해시 연산을 할 수 있음 -But 우리가 임의로 만든 타입을 사용.. 2022. 1. 26.
배열 아이템 동적 할당 방법 - 스위프트 배열에 동적으로 아이템을 추가하고 싶을때에는 메소드를 사용한다. 대표적으로 아래 세가지를 사용함 * append(_:) * insert(_:at:) * append(constentsOf:) append(_:) 메소드 배열에서 존재하지 않는 인덱스에 접근하면 오류가 발생함 아이템 추가 전에 먼저 배열의 크기를 +1만큼 확장하여 인덱스 공간을 확보한 후, 인자값을 마지막 인덱스 위치에 추가함 insert(_:at:) 메소드는 아이템을 원하는 위치에 직접 추가할때 사용 at:뒤에 입력되는 정수값은 아이템이 추가될 인덱스 위치를 뜻함 값이 추가가 되면 인덱스들은 하나씩 밀려나감 append(contentsOf:) append(_:)처럼 배열의 맨 마지막에 아이템을 추가하지만 개별아이템이 아니라 여러개의 아이템을.. 2022. 1. 24.