본문 바로가기
반응형

정리12

[Swift] 소수점 n+1번째 자리에서 반올림하여 n번째 자리까지 나타내기 1. 10^n을 곱한다. 2. round 함수로 반올림한 정수로 만든다. 3. 다시 10^n으로 나눠준다. 예를 들어 70.8756을 소수점 셋째 자리에서 반올림하여 둘째 자리까지만 나타내고 싶다면 70.8756 → 7087.56 → 7088 → 70.88 let x = 70.8756 print(round(x * 100) / 100)// 70.88 2022. 2. 8.
[Swift] 원주율 파이(Pi)값 사용하기 기하 알고리즘을 공부하면서 원주율 파이값을 사용할 일이 생겼다. 아래와 같이 FloatingPoint 타입에 get 프로퍼티로 선언되어 있다. static var pi: Self { get } 사용은 아래와 같이 하면 된다. let PI = Double.pi // 3.141592653589793 2022. 2. 8.
[Swift] 공식 문서에서 상속 관계, 프로토콜 채택 여부 확인하기 Set 관련 포스팅을 하다가 Array가 Sequence 프로토콜을 채택한다는 걸 공식문서에서 확인하고 싶었는데 어디에 적혀있는지 찾을 수가 없었다. 프로퍼티랑 메소드 파트가 너무 길어서 끝까지 내려가 본 적이 없었는데, 페이지 제일 끝에 적혀있었다... 공식 문서 각 페이지의 맨 아래로 가보면 Relationships라는 챕터에 상속, 채택한 프로토콜 목록이 아래와 같이 나와있다. 타고 타고 상속받거나 채택할 수 있어서 잘 찾아봐야 한다. 위에서 언급한 Array의 경우에는 MutableCollection 프로토콜을 채택하는데, 이 MutableCollection 프로토콜은 Collection을 상속받고, 또 이 Collection이 Sequence를 상속받아서 결론적으로 Array가 Sequnce 프.. 2022. 2. 5.
[Swift] 배열에서 중복 제거하기 Set 사용 Set의 성질을 이용한다. 집합 내에는 중복 원소가 존재하지 않으므로, 간단하게 Array를 가지고 집합 Set을 생성하면 중복이 제거된다. Array를 Set으로 Set의 이니셜 라이저 중에 Sequence를 받아 Set을 만들어주는 것이 있다. Array도 Sequence 프로토콜을 준수하므로 이것을 사용하면 된다. init(_ sequence: Source) where Element == Source.Element, Source : Sequence 예시 코드 중복이 포함된 Array을 가지고 Set를 만드는 코드이다. 중복되는 원소들이 제거되고 1, 2, 3, 4, 5만 남은 것을 확인할 수 있다. 단, Set은 원소들 간 순서가 없는 unordered collection이기 때문에 배.. 2022. 2. 5.
[Swift] 문자열에서 특정 문자 한 개 또는 여러 개 제거하기 PS에서 입력을 파싱해서 사용해야 할 때가 있다. 얼마전 숫자 N개를 공백으로 구분해서 주지 않고 콤마로 구분한 뒤, 심지어 괄호 안에 담아서 [1,2,3,4,5] 이렇게 주는 문제를 만났다ㅠㅠ 공백 대신 콤마로 주는 건 split의 separator를 ", "로 바꿔주기만 하면 되는데, 앞 뒤에 대괄호를 떼어내는 게 문제.. 인덱스로 앞 뒤 잘라내는 방법도 있겠지만 스위프트에서 문자열 인덱스 다루는 게 제일 귀찮은 일이어서ㅎㅎ 그냥 괄호를 없애버리는 방법을 찾았다. 문자열 내에서 Target Substring을 모두 찾아 원하는 Replacement 문자열로 바꿔주는 replacingOccurrences라는 메소드가 있다. func replacingOccurrences(of target: Target,.. 2022. 1. 18.
반응형