Quiz 1 - 정리
Q1. 스위프트 기초 개념 퀴즈
1. 내 이름을 나타내는 변수를 선언할 때 적절한 이름은 무엇일까요? (단일선택)
□ my_name
□ myName
□ MyName
□ my-name
💡 정답
myName
- Lower Camel Case : fuction, method, variable, constant
ex.) someVariableName
- Upper Camel Case : type(class, struct, enum, extension…)
ex.) Person, Point, Week
- Swift는 모든 대소문자를 구분합니다.
2. 콘솔로그를 남기는 간단한 함수를 모두 선택하세요. (다중선택)
□ printf
□ dump
□ scanf
💡 정답
- print 함수 : 단순 문자열 출력
- dump 함수 : 인스턴스의 자세한 설명(description 프로퍼티)까지 출력
3. 아래 코드의 [빈칸]에 들어가기 알맞은 코드를 골라보세요. (단일선택)
let number: Int = 777
let output: String = [빈칸]
print(output) // 행운의 숫자는 777입니다!
□ “행운의 숫자는 %d입니다!”
□ “행운의 숫자는 /(number)입니다!”
□ “행운의 숫자는 (number)입니다!”
□ “행운의 숫자는 \(number)입니다!”
💡 정답
“행운의 숫자는 \(number)입니다!”
- 문자열 보간법\\(): 프로그램 실행 중 문자열 내에 변수 또는 상수의 실질적인 값을 표현하기 위해 사용.
4. 차후에 변경이 불가능한 값을 선언하고 싶을 때 아래 코드의 [빈칸]에 들어갈 키워드를 골라보세요. (단일선택)
[빈칸] someConstant: Int = 100
□ var
□ const
□ let
□ static
💡 정답
let
- let : 상수 선언 키워드
- var : 변수 선언 키워드
Q2. 스위프트 기본 데이터타입 퀴즈
1. 다음 중 오류가 발생하는 코드를 모두 선택하세요. (다중선택)
□ let numberOne: Int = 123
□ let numberTwo: Double = 123
□ let numberThree: UInt = -123
□ let character: Character = 'A'
□ let string: String = "A"
💡 정답
let numberThree: UInt = -123 → error, 양수 값만 허용
let character: Character = 'A' → error, " "(큰 따옴표) 사용
let character: Character = "A"
let string: String = "A" // possible
let string: String = character // error
2. 다음 중 스위프트에서 없음을 나타내는 키워드를 고르세요. (단일선택)
□ NULL
□ No
□ nil
□ Any
💡 정답
nil
3. 다음 중 오류가 발생하는 코드를 모두 선택하세요. (다중선택)
□ var arrayOne: Array<Int> = [1, 2, 3]
□ var arrayTwo: [Int] = Array<Int>()
□ var arrayThree: [Int] = [Int]
□ var dictionaryOne: Dictionary<String> = Dictionary<String>()
□ var dictionary: [String:Int] = ["key":100]
💡 정답
suzumsz.tistory.com/6?category=928290 참고
var arrayThree: [Int] = [Int] // error
var dictionaryOne: Dictionary<String> = Dictionary<String>() // error
Q3. 스위프트 함수 퀴즈
1. 다음 중 오류가 발생하는 코드를 고르세요. (단일선택)
func addOne(left a: Int, right b: Int) -> Int {
return a + b
}
func addTwo(a: Int = 0, b: Int = 0) -> Int {
return a + b
}
□ addOne(left: 0, right: 0)
□ addOne(a: 10, b: 20)
□ addTwo(a: 10, b: 10)
□ addTwo(b: 10)
□ addTwo()
💡 정답
addOne(left: 0, right: 0) // 0
addOne(a: 10, b: 20) // error, 매개변수 명 오류
addTwo(a: 10, b: 10) // 20
addTwo(b: 10) // 10
addTwo() // 0
Q4. 스위프트 제어구문 퀴즈
1. 다음 코드의 실행 결과로 콘솔에 출력될 문자열을 입력해주세요. (단답형)
let someInteger = 50
if someInteger < 100 {
print("100 미만")
} else if someInteger > 0 {
print("0 초과")
} else if someInteger > 30 {
print("30 초과")
} else {
print("50")
}
출력결과: __________
💡 정답
출력결과: 100 미만
2. 다음 코드의 실행 결과로 콘솔에 출력될 문자열로 알맞은 것을 고르세요. (단일선택)
let someInteger = 50
case 0:
print("zero")
case 1..<100:
print("1~99")
case 50:
print("50")
}
□ zero
□ 1 ~ 99
□ 50
□ 실행불가
💡 정답
let someInteger = 50
switch someInteger { // 이 구문과
case 0:
print("zero")
case 1..<100:
print("1~99")
case 50:
print("50")
default: // default 구문을 넣어줘야 한다
print("nothing") }
3. 다음 코드의 실행 결과로 콘솔에 출력될 내용을 고르세요. (단일선택)
let max = 1
var count = 0
repeat {
count = count + 1
print(count)
} while count < max
□ 출력내용 없음
□ 0
□ 1
□ 01
💡 정답
1
5. 스위프트 옵셔널 퀴즈
1. 다음 중 오류가 발생하는 코드를 고르세요. (단일선택)
□ let optionalOne: Int! = nil
□ let optionalTwo: Int? = optionalOne
□ let optionalThree: Int? = nil
□ let optionalFour: Int = nil
💡 정답
let optionFour: Int = nil // error, nil이 들어갈 수 없다
2. 다음 중 오류가 발생하는 코드를 모두 고르세요. (다중선택)
□ optionalA = optionalB + 1
□ optionalA = 100
□ print(optionalB * 3)
□ optionalB = optionalA
💡 정답
var optionalA: Int? = nil
var optionalB: Int! = nil
3. 다음 중 오류가 발생하는 코드를 모두 고르세요. (단일선택)
let some: Int? = 100
[빈칸] unwrapped: Int = some {
print("추출된 some의 값은 \(unwrapped)입니다")
}
□ let
□ guard let
□ if let
□ some let
💡 정답
if let
- 옵셔널 바인딩
-
nil 체크 + 안전한 추출
-
옵셔널 안에 값이 들어있는지 확인하고 값이 있으면 값을 꺼내옵니다.
-
if-let 방식 사용