반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- DispatchQueue
- OperationQueue
- TableView
- 트레일링 클로저
- 동시성프로그래밍
- IBOutlet
- entrypoint
- AppTransportSecurity
- CoreLocation
- WWDC16
- UIButton
- uikit
- 진입점
- 원격 푸시
- Understanding Swift Performance
- property wrapper
- viewcontroller
- RunLoop
- Choosing Between Structures and Classes
- SWiFT
- for-in
- 후행 클로저
- userdefaults
- firebase
- 연산 프로퍼티
- ios
- weak
- tableViewCell
- IBOutletCollection
- Remot Push
Archives
- Today
- Total
iOS 공부하는 감자
Day4) 연산자, 조건문, 반복문 + 알고리즘 본문
반응형
연산자
- 특정한 문자로 표현된 함수
- 특정 연산자의 역할을 프로그래머의 의도대로 변경도 가능
연산자의 종류
할당 연산자 | 값을 할당할 때 사용 ( = ) |
산술 연산자 | 일반적인 수학 기호 ( +, -, *, /, % 등 ) 나머지를 구하는 % 연산자는 Int 자료형끼리만 사용 가능 |
비교 연산자 | 값을 비교할 때 사용 |
삼항 조건 연산자 | 조건식 ? A : B 조건식이 참이면 A, 거짓이면 B를 반환 |
범위 연산자 | 값(수)의 범위를 나타낼 때 사용 (반복문과 사용하기 좋음) |
부울 연산자 | !B : NOT(부정) 연산자 A && B : AND 연산자 A || B : OR 연산자 |
비트 연산자 | 값의 비트 논리 연산을 수행 |
복합 할당 연산자 | 할당 연산자 + 다른 연산자 다른 연산자가 수행한 연산 결과를 바로 할당함 |
오버플로 연산자 | 스위프트에서는 & 키워드를 사용하여 오버플로에 대비한 연산을 수행할 수 있음 |
nil 병합 연산자 | A ?? B : A가 nil이 아니면 A 반환, nil이면 B 반환 |
부호변경 연산자 | -A : A의 부호를 변경 |
옵셔널 강제 추출 연산자 | optionalValue! : 옵셔널 값을 강제로 추출 |
사용자 정의 연산자
- 사용자 정의 연산자는 아스키문자를 결합하여 만들 수 있음
- 할당 연산자, 삼항 연산자는 사용자 정의 역할을 부여할 수 없음
- 사용자 정의 연산자의 기능을 정의하는 코드는 함수를 작성하는 것과 비슷함
- 사용자 정의 연산자를 만들기 위해서는 먼저 연산자 정의가 필요함
-
prefix operator ** // 전위 연산자 : 연산자가 피연산자 앞에 위치 postfix operator -- // 후위 연산자 : 연산자가 피연산자 사이에 위치 infix operator ++ // 중위 연산자 : 연산자가 피연산자 뒤에 위치
- 제곱을 반환하는 전위 연산자 생성 (prefix)
-
prefix operator ** prefix func **(value: Int) -> Int { return value * value } print(**5) // 25
- 제곱을 반환하는 후위 연산자 생성 (postfix)
-
postfix operator ** postfix func **(value: Int) -> Int { return value * value } print(5**) // 25
- 평균을 반환하는 중위 연산자 생성 (infix) : 중위 연산자를 구현하는 함수 앞에는 infix 키워드를 붙이지 않음
-
infix operator +/ func +/(value1: Int, value2: Int) -> Int { return (value1 + value2) / 2 } print(20 +/ 60) // 40
알고리즘
<백준>
10951 문제에서 while문을 사용하는데 반복문을 종료하는 시점을 알려주지 않았다..
해당 문제는 EOF(end of file)을 묻는 문제였다.
while let으로 입력값을 받으면 반복하고, 받지 못하면 반복문을 종료하는 방식으로 해결할 수 있었다.
<프로그래머스>
반응형
'22 베이직 챌린지' 카테고리의 다른 글
Day6) 함수, 파라미터, 클로저 (0) | 2022.01.08 |
---|---|
Day5) 연산자, 조건문, 반복문 + 알고리즘 (0) | 2022.01.07 |
Day3) 배열, 딕셔너리, 세트, 열거형 + 알고리즘 (0) | 2022.01.05 |
Day2) String & String 보간법 / 타입 선언방법 + 알고리즘 (0) | 2022.01.04 |
Day1 ) 변수와 상수 / 기본 자료형 + 알고리즘 (0) | 2022.01.03 |