본문 바로가기

iOS/애플 개발자 공식 문서7

[Swift] 두 요소의 위치를 바꾸는 방법 (swap 함수 구현과 swapAt 인스턴스 메서드) 들어가기 전에 글을 쓰게 된 이유 코딩테스트를 문제 하나를 풀고 있던 중, Swift 언어로 간단하게 배열의 두 요소를 바꾸고 싶은데 마음대로 되지 않았다. 내가 알던 swap의 알고리즘을 Swift에 적용해 보기도 했고, swapAt이라는 자체 인스턴스 메서드를 활용하여 요소를 바꿀 수 있는 걸 우여곡절 알게 되어서 이를 정리하기 위해 글을 쓰게 되었다. C의 swap 구현 C 언어의 swap 구현 내가 C언어에서 알고 있는 방식의 swap 알고리즘이다. 이를 Swift에 적용해 보고 싶었다. 참고로 코드블럭 언어가 cpp로 적혀 있는 건 티스토리의 코드블럭에서 C가 없어서 그렇다. #include void swap(int* a, int* b); int main(void) { int a = 1; int.. 2023. 5. 4.
[Swift] print 함수로 주어진 여러 아이템을 String 타입으로 표준 출력하기 들어가기 전에 포스팅 이유와 느낀 점 Slack에서 print 함수와 보간법(interpolation)에 대한 차이점의 질문이 올라 와서 나도 궁금해서 공식 문서를 찾아 보며 정리하게 되었다. 당연하게 쓰고 있는 print 함수이지만, 정작 어떻게 제대로 쓰는 줄 몰랐는데 이를 정리하면서 좀 더 깊게 알게 되었다 :) 참고 자료 print에 대한 애플 개발자 공식 문서를 참고했다. 아래에 한글로 적힌 내용은 공식 문서를 최대한 한글의 문맥에 가깝게 번역했다. print(_:separator:terminator:) | Apple Developer Documentation print 함수 정의 공식 문서 정의 Writes the textual representations of the given items i.. 2023. 5. 3.
[Swift] "~= " 연산자 함수로 패턴 매칭 확인하기 Xcode에서 SubString에 대한 Definition을 찾던 중 신기한 연산자(!)를 발견했다. 여기서 ~=가 연산자인 것 같은데 뭔지 궁금해서 블로그를 작성하게 되었다. 📌 애플 개발자 공식 문서 ~=(::) | Apple Developer Documentation 선언 ~= 연산자는 pattern과 bound를 매개변수로 받고 부울(Bool)을 반환하는 함수이다. static func ~= (pattern: Self, value: Self.Bound) -> Bool 매개변수 pattern → 어떠한 범위(a range) bound → 패턴에 대응하는 값(a value to match against pattern) 논의 You can use the pattern-matching operator (.. 2023. 4. 26.
[Swift] reversed로 컬렉션 타입의 순서를 뒤집는 뷰 반환하기 프로그래머스에서 자연수를 뒤집어 배열로 만드는 문제를 풀다가 reversed() 메서드를 알게 되었다. 이를 정리해 보기 위해 이번 포스팅을 하게 되었다. 아래의 공식 문서를 참고 했다. reversed() | Apple Developer Documentation 📌 정의 Returns a view presenting the elements of the collection in reverse order. 컬렉션의 요소를 반대 순서로 표시하는 뷰(view)를 반환한다. 여기서 중요한 것은 단순히 반대 순서로 만드는 게 아니라 이를 표시하는 뷰를 반환하는 것이다. 따라서 다시 그 컬렉션을 원하면 메서드를 사용한 이후 형 변환을 해야 한다. 📌 선언 func reversed() -> ReversedCollec.. 2023. 4. 7.
[Swift] enumerated()로 인덱스와 요소를 모두 반환하기 Swift의 문자열이나 배열에서 어떻게 하면 인덱스와 요소를 하나로 묶은 채 모두 출력할 수 있을까? 바로 enumerated() 메서드를 이용하면 된다. enumerate는 '열거하다'라는 뜻의 영단어이다. 📌 공식 문서 링크 enumerated() | Apple Developer Documentation Collection Types | Documentation 콜렉션 타입(Collection Types) | Swift 📌 요약 Returns a sequence of pairs (n, x), where n represents a consecutive integer starting at zero and x represents an element of the sequence. 쌍으로 묶은 (n, x) 과.. 2023. 3. 28.
[Swift] stride()로 숫자를 단계적으로 다루기 Swift로 팩토리얼 문제를 반복적으로(iteratively) 풀어 보면서 stride() 메서드를 알게 되었다. 이를 보다 더 자세히 알고 싶어서 포스팅을 했다. [백준] (Swift) 10872번: 팩토리얼 (재귀 vs 반복) 📌 문제 10872번: 팩토리얼 📌 풀이 개요 N에서 1까지 차례로 곱하는 팩토리얼은 크게 2가지 경우로 풀어 볼 수 있다. 재귀적으로(recursively) 푸는 방식이거나, 반복적으로(iteratively) 푸는 방식이다. andy-archive.tistory.com 📌 공식 문서 링크 stride(from:to:by:) | Apple Developer Documentation stride(from:to:through:) | Apple Developer Documentati.. 2023. 3. 18.
[Swift] 백준에서 readLine() 메서드로 입력 받기 백준에서 Swift 언어로 문제를 풀 때, 입력을 어떻게 받아야 할까? Swift의 표준 입력 함수 readLine()에 대해 알아보자. 주어진 조건(띄어쓰기 여부 등)에 따라 입력 받은 문자열을 어떠한 자료형으로 변환할지 알아 보자. 📌 요약 이후 설명은 아래의 개발자 공식 문서에서 직접 번역했다. readline(strippingNewline:) | Apple Developer Documentation readLine(strippingNewline:) Returns a string read from standard input through the end of the current line or until EOF is reached. 현재의 줄 끝까지 또는 EOF와 마주할 때까지 표준 입력으로부터 문자.. 2023. 3. 16.
반응형