[오늘의 Swift 지식] 고차 함수 (map, filter, reduce)
·
📌 Swift
고차 함수란?고차 함수(Higher-Order Function)는 하나 이상의 함수를 인자로 받거나, 함수를 결과로 반환하는 함수를 말합니다. 스위프트에서 제공하는 고차함수는 map, filter, reduce 3가지가 있으며, 컬렉션을 처리할 때 매우 유용합니다.  map(변형)map 메서드는 컨테이너 내부에 각 요소를 변형(transform)하여 새로운 컨테이너를 생성합니다. 다만, 새로운 컨테이너를 생성한 것이기 때문에 기존의 데이터는 변하지 않습니다. map은 for-in 구문과 유사한 결과를 만들지만, 코드가 더 간결하고 선언적으로 작성할 수 있다는 장점이 있습니다. 그러면, for-in 문과 map 메서드를 사용한 코드를 비교해보겠습니다. for-inlet numbers: [Int] = [0,..
[오늘의 Swift 지식] stride 함수 (백준 2742번 기찍 N, 역수 구하기)
·
📌 Swift
백준의 2741번째 문제를 풀고 기찍N 이라는 2742번을 풀다가 오류가 계속 나서 찾아보다가 stride라는 함수를 찾게 되었습니다.그냥 공부만 하기에는 잊어버릴 것 같고 꾸준히 참고할 거 같아서 정리하였습니다. stride( ) 함수 먼저 stride가 무슨 뜻인지 궁금해서 검색을 해보았는데요. 사전적인 의미는 "보폭"이라네요? 코딩에서는 이 의미를 그대로 적용해서 "특정 간격(보폭)만큼 이동"하는 반복을 의미하는 것 같습니다.또한, 위에 있는 공식문서의 Return Value부분을 보면 "start(from)부터 end(to) 방향으로 가되, end(to)는 포함하지 않는다."라고 작성되어 있습니다. 즉, stride(from: to: by: )는 시작값(from)부터 종료값 바로 전까지(to), ..
[자료구조] 트리(Tree)란
·
❕Data structure
이번에는 자료구조 중 하나인 트리(Tree)에 대해서 정리하겠습니다.가급적이면 쉽고 간단하게 설명할 예정이며, 더 깊고 많은 내용을알고 싶으시다면 다른 블로그를 참고하시기 바랍니다 :)   트리(Tree)란?   트리(Tree)는 계층적인 자료를 표현하는 데 사용되는 자료구조입니다. 가장 대표적인 예시로는 컴퓨터의 디렉토리 구조를 예시로 들 수 있습니다. 실제 나무를 거꾸로 놓은 것과 비슷한 형태를 가지고 있기 때문에 '트리(Tree)'라고 부릅니다. 트리 관련 용어루트 노드(root node): 부모가 없는 최상위 노드 (A)단말 노드(leaf node): 자식이 없는 노드 (H, I, E, J, G)크기(size): 트리에 포함된 모든 노드의 개수 깊이(depth): 루트 노드로부터의 거리 (A의 깊..
[자료구조] 연결 리스트(Linked List)는 무엇일까?
·
❕Data structure
오늘은 자료구조 중 하나인 "연결 리스트"에 대해서 정리해보겠습니다!자료구조, 알고리즘 공부를 꾸준히 해야 하는데 손이 안 가서 큰일이네요.. ㅠㅠ 연결 리스트(Linked List)란?연결 리스트(Linked List)는 각 노드가 '데이터'와 '포인터'를 가지고 한 줄로 연결되어 있는 자료구조이다. 위에서 노드에는 '데이터'와 '포인터'를 가지고 있다고 하였는데 포인터는 무엇일까? 검색해본 정의로는 "포인터는 프로그래밍 언어에서 다른 변수, 혹은 그 변수의 메모리 공간 주소를 가리키는 변수를 말한다." 라고 쓰여있다. 좀 더 이해하기 쉽도록 말하면 "다음 노드의 주소를 가지고 있으며, 다음 노드와 연결을 담당해주는 역할"이라고 생각하면 될거같다. 참고로, 연결 리스트에는 단방향, 양방향 연결 리스트 ..
CI/CD란 무엇일까?
·
📝 Etc
오늘은 CI/CD에 대해서 작성해보겠습니다. CI/CD란?CI/CD는 개발자라면 한 번쯤은 다들 들어봤을 만한 단어일 것입니다. CI/CD는 애플리케이션 개발 단계부터 배포 때까지의 모든 단계를 자동화를 통해서 좀 더 효율적이고 빠르게, 사용자에게 자주 배포할 수 있는 개념입니다. CI/CD의 개념만을 두고 보자면 자동화와 직접적으로 관련은 없을 수도 있습니다. 하지만 그럼에도 불구하고, '자동화'라는 키워드는 CI/CD라는 단어에 거의 항상 따라붙습니다. 또한 CI/CD는 DevOps 엔지니어의 핵심 업무라고 불리기도 합니다.  CI (Continuous Integration)CI (Continuous Integration)는 "지속적인 통합"이라는 의미를 가지고 있습니다. 애플리케이션의 버그 수정이나..
[Xcode] 코드 자동 정렬(Re-Indent), 단축키
·
📱 iOS
코드를 작성하시다 보면 코드가 너저분할 때가 있거나, 복사, 붙여 넣기를 하다 보면 들여쓰기가 영켜버린 경험이 다들 있으실겁니다.  그래서 오늘은 코드를 자동으로 정렬하는 방법을 정리하겠습니다. 👍🏻  방법은 매우 쉽습니다. 위의 사진과 같이 "Editor" -> "Structure" -> "Re-Indent"를 클릭해주시면 자동 정렬이 됩니다. (사진 오른쪽에 쓰여져있듯이 단축키는 Control + I 입니다.) 하지만, 저 단축키를 한다고 전체 코드가 자동으로 정렬되는 것은 아닙니다. 그러면 어떻게 해야 할까요? 🧐 자동 정렬을 원하는 부분이 있다면, 원하는 부분을 드래그해준 후 위의 순서대로 Re-Indent를 눌러주거나 Control + I 단축키를 사용하면 자동 정렬이 됩니다. 그리고 어느..