Clover
[Swift/문법] Closure (클로저)
iOS(macOS)/Swift 2022. 8. 7. 14:50

간략한 스위프트 문법/사용법 정리 클로저(Closure)는 다른 언어의 람다(lambdas)와 비슷한 개념이다. 🧐 Closure 생성 방법 예시) 아래의 함수는 Int 타입의 매개변수를 받아서 "score: ~~"으로 반환해주는 함수이다. func getScore(a: Int) -> String { return "score: \(a)" } print(getScore(50)) // 출력: "score: 50" 위의 함수를 클로저로 구현하면 아래와 같다. let getScore = { (a: Int) -> String in return "score: \(a)" } print(getScore(100)) // 출력: "score: 100" 📎 축약형 - 클로저의 내부 코드가 한 줄 일때 return을 생략할 ..

[Swift/문법] 제어문(Control flow), Function
iOS(macOS)/Swift 2022. 8. 4. 17:39

간략한 스위프트 문법/사용법 정리 🧐 제어문(Control flow) Swift에서 제공하는 많은 제어문(Control flow) 중 while loop / for-in / if guard / switch 문의 사용법에 대해 정리해보았다. 📎 for-in let initial = "MCH" let names = ["Adrian", "Mike", "Tom"] for char in initial { print(char) } // M // C // H for name in names{ print(name) } // Adrian // Mike // Tom for index in 0...5 { print(index) } // 0 ~ 5 for index in 0... 0 { print(a) a -= 1 } // ..

article thumbnail
[Swift/문법] Collection(Array, Set, Dictionary)
iOS(macOS)/Swift 2022. 7. 28. 15:06

간략한 스위프트 문법/사용법 정리 🧐 Array(배열) 📎 배열 생성 방법 [빈 배열 생성하기] var products = Array() // 정식 문법 var ages = [Int]() // 축약형 (일반적으로는 축약형을 주로 사용한다고 한다.) [기본값 할당하며 생성하기] // 3칸짜리 Int 타입 배열 생성. var Dobules = Array(repeating: 0, count: 3) // [0, 0, 0] // 리터럴 활용 var shoppingList: [String] = ["Eggs", "Milk"] var items = ["pen", "card"] // 축약형 - 축약형으로 선언하면 타입 추론에 의해 배열의 타입이 결정된다. 📎 원소 추가, 제거, 접근 방법 [원소 추가] // 원소를 맨 ..

[프로그래머스/python] 소수 만들기
Algorithm(PS) 2022. 7. 27. 17:49

문제 [프로그래머스] 소수 만들기 (Level 1) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 주어진 리스트에 대해 3개의 숫자를 중복 없이 조합할 수 있는 모든 경우의 수를 만든다. 2. 조합의 합이 소수인지 아닌지 판별한다. - 소수라면, count + 1 - 소수가 아니라면, 넘어간다. 위의 규칙을 구현하여 count를 반환해주면 되는 문제로, 어렵지 않게 구현을 할 수 있었다. 풀이 방법을 정리하고 가장 먼저 떠오른 방법은, 파이썬의 itertools.combinations 모듈을 활용하는 것이었다. 주어진 인자의 모든 조합을 튜플로..

[Algorithm] 재귀(Recursion)
Algorithm(PS) 2022. 7. 25. 15:10

코딩 테스트를 대비하여 자료구조와 알고리즘에 대해 정리하며 공부 중입니다. 틀린 부분이 있을 수 있다는 점을 감안하고 봐주시기 바라며, 지적은 언제나 환영합니다. 🧐 재귀(Recursion) 재귀 함수(Recursive function)는 함수 내에서 자기 자신을 호출하는 함수이다. 함수 내부에서 자기 자신이 호출되면, 자기 자신을 메모리에 복사시켜 놓고 함수를 호출한다. 그리고 반드시 함수가 무한 루프에 빠지지 않기 위해서는 base case를 설정해주어야 한다. * base case : 함수가 더 이상 자기 자신을 호출하지 않도록 설정하는 조건을 의미한다. // 인수 N의 팩토리얼을 구하는 재귀 함수 (python) def factorial(N): if (N == 1): // base case (탈출..

[Swift/문법] 변수, 상수, 튜플과 옵셔널
iOS(macOS)/Swift 2022. 7. 24. 23:15

간략한 스위프트 문법 정리 🧐 [var, let, Tuples] (변수, 상수, 튜플) 📎 변수, 상수 선언 방법 // 변수 var str = "Hello" var age = 10 // 상수 let name = "MCH" let year = 2022 변수/상수의 타입을 미리 지정해놓지 않아도, 타입 추론(Type Inference)을 통해 변수/상수의 타입을 자동으로 지정해준다. 위 방법은 편리하지만, 예상하지 못한 문제를 야기할 수도 있으므로 타입 어노테이션(Type Annotation)을 통해 변수/상수의 타입을 개발자가 미리 지정해주는 것이 좋다. // 타입 어노테이션(Type Annotation) var str: String = "Hello" let height: Float = 180.0 var ..

article thumbnail
[백준-Python] 문제 1417 - 국회의원 선거
Algorithm(PS) 2022. 7. 20. 15:12

문제 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 풀이 단순 구현 처음 문제를 이해하고 생각나는 대로 구현을 해봤는데 한 번에 통과했다. [소스 코드] 리스트 arr을 선언하여 입력받은 득표 수를 전부 담아놓는데, 다솜이의 득표수는 무조건 arr[0]에 저장되어 있을 것이다. 따라서, 다솜이의 득표수 arr[0]이 전체 리스트의 최댓값이 될 때까지 반복을 하고, 반복한 횟수를 출력하면 되는 것이다. 매 반복마다 max값의 인덱스 i 를 .index() 함수를 통해 받아오고, arr[i] = ar..

article thumbnail
[Xcode] 파일 확장자 표시하기
iOS(macOS)/Swift 2022. 7. 13. 19:37

Xcode - 파일 확장자 표시하기 Xcode 13 버전부터 파일의 확장자를 기본적으로 숨기도록 변경되었다고 한다. 나는 확장자가 보여야 속이 편해서.. 확장자가 보이도록 설정을 다시 변경해서 사용하고 있다. [설정 방법] 1. [command + ,] 또는 좌측 상단 [Xcode] - [Preferences...] 클릭. 2. [General] 탭 - [File Extensions] 항목을 "Show All"로 변경. 곧바로 변경되는 것을 확인할 수 있다. [해결방법 출처] Xcode 파일확장자 보이게하는법 왼쪽부분에서 파일들 보면 파일확장자가 안나와있네요... 해결방법 알려주실분?? kin.naver.com

article thumbnail
[Xcode] 스토리 보드 - 첫 화면 설정하기 (Main interface)
iOS(macOS)/Swift 2022. 7. 13. 19:17

Xcode Story board - App이 launch 될 때 보여줄 첫 화면 설정하기 스토리 보드로 UI를 개발할 때, App이 launch 될 때 보여줄 첫 화면을 설정하는 방법은 두 가지가 있다. 하나는 "AppDelegate.swift" 파일에서 코드로 설정하는 방법이고, 나머지 하나는 Xcode에서 해당 앱의 프로젝트 설정 화면에서 설정을 해주는 방법이다. 1. 프로젝트 설정 화면 진입 2. [General] 클릭 3. [Deployment Info] - [Main Interface] 항목을 원하는 항목으로 설정.

article thumbnail
[백준-Python] 문제 14888 - 연산자 끼워넣기
Algorithm(PS) 2022. 7. 5. 15:56

문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60가지의 식을 만들 수 있다. 예를 들어, 아래와 같은 식을 만들 수 있다. 1+2+3-4×5÷6 1÷2+3+4-5×6 1+2÷3×4-5+6 1÷2×3-4+5+6 식의 계산은 연산자 우선..