ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • swift 문법 기초 챕터1 Recap
    iOS 앱 개발 부트캠프/TIL 2024. 10. 29. 20:29

    1. 기본 데이터 타입 

    기본 데이터 타입 질문

    •  Q. 기본 데이터 타입 Int 에 대해서 설명해주세요
      •  A. 정수를 저장하는 데이터 타입

     

     기본 데이터 타입 질문

    let testValue = 15

    •  Q. 위의 testValue는 어떤 데이터 타입일까요?
      •  A: Int

     

     기본 데이터 타입 질문

    •  Q. Float 과 Double은 모두 소수점을 저장할수 있는 데이터 타입이다.  OX로 답변해주세요
      •  A : O

     기본 데이터 타입 질문

    •  Q. Bool 데이터에 대해서 설명해주세요.
      •  A: 참/거짓을 저장하는 데이터 타입

     

     기본 데이터 타입 질문

    •  Q. 문자열을 저장할 수 있는 데이터타입의 이름은 무엇이었죠!?
      •  A. String

     기본 데이터 타입 질문

     아래의 _____에는 어떤 데이터타입이 들어가면 좋을까요?

     let price: ______ = 199.95   // A: Float or Double
     let name: ______ = "수강생!"   // A: String
     let isAdult: ______ = false  // A: Bool

     

     기본 데이터 타입 질문

    •  Q. Int와 Float은 둘다 숫자를 표현하는데 동일한 타입인가요?
      •  A. Int는 정수형, Float은 실수형 숫자를 저장하는 데이터 타입이라 조금 다릅니다.
    •  Q. 만약 동일하지 않다면 차이점은 무엇인가요?
      •  A. Int는 정수, Float은 소수점을 포함한 실수

    2. 변수와 상수

     변수와 상수 질문

    •  Q. 변수와 상수에 대해서 설명해주세요.
      •  A. 변수는 값을 할당한 후에도 값이 변할 수 있고 상수는 값을 할당 한 뒤로 값이 변하지 않습니다.
    •  Q. 변수를 사용하기 위한 키워드는 무엇인가요?
      •  A. var

    •  Q. 상수를 사용하기 위한 키워드는 무엇인가요?
      •  A. let

    •  Q. 상수에는 값을 할당하고 다른 값을 할당하면 어떻게 되나요?
      •  A. let 데이터라 값을 바꿀 수 없다고 컴파일 에러가 나곤 했습니다.

     

     변수와 상수 질문

     아래의 한국말을 개발해주세요!

    •  1. 변수의 이름은 phone, 타입은 문자열로 선언해주세요.
    •  2. phone변수에 "iPhone" 값을 할당해주세요.
    •  3. print 함수를 사용하여 phone 변수의 값을 출력해주세요.
    var phone: String
    phone = "iPhone"
    print(phone)

     

     변수와 상수 질문

     아래의 한국말을 개발해주세요. 그리고 아래에 있는 질문에 답변해주세요.

    •  상수의 이름은 age이고 값은 15를 할당해주세요.
    let age = 15
    •  Q. 위의 코드에서 age의 데이터타입은 무엇일까요!?
      •  A. Int
    •  Q. age에 데이터타입을 명시하지 않았는데 위의 데이터타입이 되는 이유는 무엇인가요?
      •  A. 숫자 15를 입력하면 swift 컴파일러가 데이터 타입 추론을 지원하기 때문에 명시하지 않아도 자동으로 Int 타입으로 처리합니다.

     

     변수와 상수 질문

     아래의 한국말을 코드로 개발해주세요!

    •  상수의 이름은 width이고, 값은 200을 할당해주세요.
    •  변수의 이름은 length이고, 값은 300을 할당해주세요.
    •  두 값을 더한 결과를 출력해주세요.
    let width = 200
    var length = 300
    
    print(width + length)

     

     변수와 상수 질문

     아래의 한국말을 코드로 개발해주세요!

    •  변수의 이름은 temperature이고, 타입은 Double로 선언해주세요.
    •  temperature에 36.5 값을 할당해주세요.
    •  print 함수를 사용하여 "현재 온도는 36.5도 입니다"라는 문장을 출력해주세요.
    •  이때 36.5는 temperature 변수의 값을 사용해주세요.
    var temperature: Double
    
    temperature = 36.5
    
    print("현재 온도는 \(temperature)도 입니다.")

     

     변수와 상수 질문

     아래의 코드를 한글로 번역해주세요.

    var name: String = "!!" // 번역 : name이라는 이름의 문자열 타입 변수에 !! 라는 문구를 저장합니다.
    
    print(name)             // 번역 : name에 저장된 내용을 출력합니다.
    print("Hello World")    // 번역 : Hello World 라는 내용을 출력합니다.
    
    let height: Float       // 번역 : Float 타입의 상수 height를 선언했습니다.
    height = 123.0          // 번역 : 상수 height에 123.0이라는 값을 할당했습니다.

     

     변수와 상수 질문

     아래의 한국말을 코드로 개발해주세요!

    •  상수 isComplete를 Bool 타입으로 선언하고 true 값을 할당해주세요.
    •  print 함수를 사용하여 isComplete 값을 출력해주세요.
    let isComplete: Bool = true
    
    print(isComplete)

     변수와 상수 질문

    •  Q. 아래의 코드는 잘 작동 할까요?
     let testValue = 10
    
     testValue = 5
    
     print(testValue)
    •  A. testValue를 상수로 선언하고 초기 값을 10으로 할당한 뒤에 다시 5를 할당하려고 하니 에러가 발생할 것입니다.

     


    3. 연산자

     연산자 질문 1.

     OX 퀴즈

    •  Q. 대입연산자(=)는 왼쪽에 있는 값을 오른쪽에 대입(할당)하는 역할을 한다.
      •  A. X, 반대로 오른쪽에 있는 값을 왼쪽에 대입합니다.

     

     연산자 질문 2.

     아래의 한국말을 코드로 작성해주세요.

    •   변수 count를 선언하고 값을 10 대입하세요.
    •   count의 값을 5로 변경하세요.
    var count = 10
    
    count = 5

     

     연산자 질문 3.

     아래의 코드를 보고 질문에 답변해주세요.

    var test3 = 10
    
    test3 -= 5
    •  Q. print(test3)의 출력값은 무엇일까요?
      •  A. 5

     

     연산자 질문 4.

     아래의 한국말을 코드로 개발해주세요.

    •  두개의 변수 a,b를 선언하여 10, 20 값을 대입해주세요.
    •  변수 a,b를 더한값을 출력해보세요.
    •  변수 a와 b의 나머지 연산 결과를 출력해주세요.
    •  아래에 개발해주세요
    var a = 10
    var b = 20
    
    print(a + b)
    print(a % b)

     

     연산자 질문 5.

     아래의 코드를 보고 질문에 답변해주세요.

    var test5A = true
    var test5B = false
    •  Q. print(test5A == test5B) 의 출력값은 무엇일까요?
      •  A. false
    •  Q. test5A의 타입은 String이다? O/X로 답변해주세요! 
      •  A. X
    •  Q. print(test5A || test5B) 의 출력값은 무엇일까요?
      •  A. true
    •  Q. print(test5B && test5A) 의 출력값은 무엇일까요?
      •  A. false
    •  Q. print(!test5B) 의 출력값은 무엇일까요?
      •  A. true
    •  Q. print(!test5A || test5B)의 출력값은 무엇일까요?
      •  A. false

     

     연산자 질문 6.

     아래의 한국말을 코드로 개발해주세요!

    •  변수 x에 10을, 변수 y에 20을 대입하세요.
    •  x와 y가 같은지 비교하여 결과를 출력하세요.
    •  x가 y보다 작은지 비교하여 결과를 출력하세요.
    var x = 10
    var y = 20
    
    print(x == y)
    print(x < y)

     연산자 질문 7.

     아래의 코드를 보고 질문에 답변해주세요.

    1...5
    •  Q. 해당 범위 연산자에 포함되는 숫자는 무엇이 있을까요?
      •  A. 1, 2, 3, 4, 5

     

     

     연산자 질문 8.

     아래의 코드를 보고 질문에 답변해주세요.

    10..<11
    •  Q. 해당 범위 연산자에 포함되는 숫자는 무엇이 있을까요?
      •  A. 10

     


    4. 조건문

     조건문 질문

     Q. 조건문을 개발할 때 사용하는 키워드를 선택해주세요

    •  for
    •  if
    •  switch
    •  func
    •  let
    •  Array
    •  guard
    •  closure

     A. if, switch, guard

     

     

     조건문 질문

     아래의 코드에서 번역 : 뒤의 부분을 채워주세요

    let score = 85          // 번역 : 상수 score에 숫자 85를 할당했습니다.
    if score >= 90 {        // 번역 : 만약 score의 값이 90 이상이라면
        print("A")          // 번역 : A 를 출력합니다.
    } else if score >= 80 { // 번역 : 그리고 만약 score의 값이 90 이상이 아니면서, 80 이상이라면 B를 출력합니다.
        print("B")
    } else {                // 번역 : score가 90이상도, 90~80의 값도 아니라면 C를 출력합니다
        print("C")
    }
    •  Q. 위 코드에서 출력되는 값은 무엇일까요?
    •  A. score가 85이기 때문에 else if 부분이 동작해 B가 출력됩니다.

     

     

     조건문 질문

     아래의 한국말을 코드로 작성해주세요.

    •  변수 dayOfWeek에 "Friday"를 대입하세요.
    •  switch 문을 사용하여 dayOfWeek이 "Monday"일 때는 "월요일", "Friday"일 때는 "금요일"을 출력하세요.
    •  그 외의 경우에는 "평일입니다"를 출력하세요.
    var dayOfWeek = "Friday"
    
    switch dayOfWeek {
    case "Monday":
        print("월요일")
    case "Friday":
        print("금요일")
    default: print("평일입니다")
    }

     

    조건문 질문

     아래의 한국말을 코드로 작성해주세요.

    •  if 조건문를 사용해서 개발해주세요.
    •  1. 변수 age를 선언하고, 값으로 20을 대입하세요.
    •  2. 만약 age가 18보다 크거나 같으면 "성인입니다"를 출력하세요.
    •  3. 그렇지 않으면 "미성년자입니다"를 출력하세요.
    var Age = 20
    if Age >= 18 {
        print("성인입니다")
    } else {
        print("미성년자 입니다")
    }

     

     조건문 질문

     아래의 한국말을 코드로 작성해주세요.

    •  guard를 사용해보세요.
    •  1. 함수 checkAdult를 작성하여, Int타입의 age를 파라미터로 받으며 반환타입은 없습니다.
    •  2. age가 18보다 작으면 "성인이 아닙니다"를 출력하고 함수에서 빠져나오세요.
    •  3. 그렇지 않으면 "성인입니다"를 출력하세요.
    func checkAdult(age: Int) {
    //    guard age < 18 else {
    //        print("성인입니다")
    //    }
    //    print("성인이 아닙니다.")
    
        guard age > 18 else {
            print("성인이 아닙니다")
            return
        }
        print("성인입니다.")
    }
    
    checkAdult(age: 18)

     


    5. 반복문

    반복문 질문

     

     OX 퀴즈

    •  Q. for 는 반복을 할 때 사용한다?
      •  A. O
    •  Q. while 반복문은 조건이 참일 동안 계속 반복해서 실행된다?
      •  A. O

     

     반복문 질문

     아래의 코드를 보고 질문에 답변해주세요.

    for i in 1...5 {
        print(i)
    }
    •  Q. 위의 코드의 출력 결과는 무엇일까요?
      •  A. 1 \n 2 \n 3 \n 4 \n 5

     

     반복문 질문

     아래의 코드를 보고 질문에 답변해주세요.

    var counter = 0
    
    while counter < 3 {
        print(counter)
        counter += 1
    }
    •  Q. 위 코드의 출력 결과는 무엇일까요?
      •  A. 0 \n 1 \n 2

     

     반복문 질문

     아래의 한국말을 코드로 작성해주세요.

    •  1. 변수 total에 0을 선언하세요.
    •  2. for 문을 사용하여 1부터 10까지의 숫자를 더해서 total에 저장하세요.
    •  3. 마지막에 total 값을 출력하세요.
    var total = 0
    
    for i in 1...10 {
        total += i
    }
    
    print(total)

     

     반복문 질문

     아래의 한국말을 코드로 작성해주세요.

    •  1. 변수 count에 5를 선언하세요.
    •  2. while 문을 사용하여 count가 0이 될 때까지 count를 1씩 줄이면서 출력하세요.
    var count = 5
    
    while count > 0 {
        print(count)
        count -= 1
    }

     반복문 질문

     아래의 코드를 보고 질문에 답변해주세요.

     번역 : 뒤에를 채워주세요

    for i in 3...10 { // 번역 : i의 값을 3부터 10까지 차례로 대입하며 아래 코드를 반복한다.
        if i == 5 {   // 번역 : i의 값이 5일 때
            break     // 번역 : 반복문을 빠져나간다
        }
        print(i)
    }
    •  Q. 위의 코드의 출력되는 값은 무엇인가요?
      •  A. 3 \n 4

     

     반복문 질문

     OX 퀴즈

    •  Q. break는 반복문을 중간에 종료시키는 역할을 합니다.
      •  A. O

     

     반복문 질문

     아래의 코드를 보고 질문에 답변해주세요

    for i in 1...10 {
        if i % 2 == 0 {
            print(i)
        }
    
        if i > 8  {
            break
        }
    }
    •  Q. 위 코드에서 출력되는 값은 무엇인가요?
      •  A. 2 \n 4 \n 6 \n 8

     반복문 질문

     아래의 한국말을 코드로 작성해주세요.

    •  1. while 문을 사용하여 1부터 100까지의 숫자 중 5로 나누어떨어지는 숫자만 출력하세요.
    var count = 1
    
    while count <= 100 {
        if count % 5 == 0 {
            print("\(count)", terminator: " ")
        }
        count += 1
    }

     


    6. 함수

     함수 질문

     OX 퀴즈

    •  Q. 함수를 구현할 때 필요한것은 함수의 이름과 파라미터 타입 2개이다!?
      •  A. X 이름, 파라미터, 반환값, 구현부
    •  Q. 함수는 하나 이상의 값을 무조건 반환해야 한다!?
      •  A. X
    •  Q. 함수를 정의할 때 파라미터가 없다면 괄호 ()를 생략해도 된다!?
      •  A. X
    •  Q. 함수를 정의할 때 반환하는 타입이 없다면 반환타입을 생략해도 된다!?
      •  A. O

     

     함수 질문

     아래의 코드를 보고 질문에 답변해주세요

    func sayHello() {
        print("Hello, World!")
    }
    •  Q. sayHello 함수에 파라미터는 몇개인가요?
      •  A. 0개
    •  Q. 해당 함수를 호출하면 어떤 값이 출력되나요?
      •  A. Hello, World!
    •  Q. sayHello 함수를 호출하는 코드를 작성해주세요.
      •  A. sayHello()

     

     함수 질문

     아래의 코드를 보고 질문에 답변해주세요

    func add(a: Int, b: Int) -> Int {
        return a + b
    }
    •  Q. 해당 함수의 이름은 무엇인가요?
      •  A. add
    •  Q. 해당 함수의 파라미터는 몇개이고 어떤 데이터타입인가요?
      •  A. Int 타입의 a,b 2개
    •  Q. 해당 함수의 반환타입은 있나요?
      •  A. Int
    •  Q. add 함수에 3,4 값을 넣어서 사용한 뒤 result 상수에 할당하는 코드를 작성해주세요.
      •  A. let result = add(a: 3, b: 4)

     

     함수 질문

     아래의 한국말을 코드로 작성해주세요.

    •  1. 문자열을 인자로 받아 해당 문자열을 출력하는 printMessage 함수를 작성하세요.
    •  2. 함수 안에서 print 함수를 사용하여 파라미터로 받는 값을 출력하세요.
    func printMessage(message: String) {
        print(message)
    }
    
    printMessage(message: "안녕하세요!")

     

     함수 질문

     아래의 한국말을 코드로 작성해주세요.

    •  1. 두 개의 정수를 입력받아, 그 값이 같으면 true를 반환하고 다르면 false를 반환하는 함수를 작성하세요.
    •  2. 함수의 이름은 isEqual로 지정하세요.
    func isEqual(first: Int, second: Int) -> Bool {
    //    if first == second {
    //        return true
    //    } else {
    //        return false
    //    }
        return first == second
    }
    
    print(isEqual(first: 1, second: 1))

     

    7. 고급 데이터 타입

    고급 데이터 타입 질문

     OX 퀴즈

    •  Q. Array는 순서를 보장한다!?
      •  A. O
    •  Q. Array의 index는 1부터 시작해서 2,3,4 형식으로 올라간다?
      •  A. X 0부터 시작합니다

     

     고급 데이터 타입 질문

     아래의 코드를 보고 질문에 답변해주세요

     번역 : 뒤에를 채워주세요.

    var numbers = [1, 2, 3, 4, 5] // 번역 : numbers라는 변수에 배열 [1, 2, 3, 4, 5] 를 할당했습니다.
    numbers.append(6) // 번역 : numbers 배열의 마지막에 6이라는 값을 추가했습니다.
    print(numbers)
    •  Q. numbers의 타입은 Array, Set 중 무엇인가요?
      •  A. Array 입니다
    •  Q. print(numbers)의 결과값은 무엇인가요?
      •  A. [1, 2, 3, 4, 5, 6] 입니다
    •  Q. numbers의 값 1을 삭제하는 코드를 아래에 작성해주세요.
      •  A. numbers.remove(at: 0)

     고급 데이터 타입 질문

     아래의 코드를 보고 질문에 답변해주세요.

     변역 : 뒤에를 채워주세요.

    var emptyArray = [String]() // 번역 : 변수 emptyArray를 선언해 String 타입의 값을 넣을 빈 배열을 할당 했습니다.
    
    emptyArray.append("Hello") // 번역 : emptyArray에 Hello 라는 값을 추가했습니다.
    emptyArray.append("World")
    
    print(emptyArray.count)
    •  Q. emptyArray.count는 어떤값이 출력될까요?
      •  A. 2

     

     

     고급 데이터 타입 질문

     아래의 한국말을 코드로 작성해주세요.

    •  1. 변수 array에 Array에 1, 2, 3, 4, 5를 추가하세요.
    •  2. 각 요소에 2를 곱한 결과를 새로운 배열로 반환하는 코드를 작성하세요.
    var array = [1, 2, 3, 4, 5]
    var array2: [Int] = []
    
    for arr in array {
        array2.append(arr * 2)
    }
    
    print(array2)

     

     고급 데이터 타입 질문

     아래의 코드를 보고 질문에 답변해주세요.

    var testArray = [Int]()
    testArray = [1, 2, 3]
    
    testArray.append(1)
    testArray.insert(1, at: 1)
    •  Q. testArray[0] 의 값은 무엇인가요?
      •  A. 1
    •  Q. testArray에 값 1은 몇개가 저장되어 있나요?
      •  A. 3개
    •  Q. testArray에 어떤 값이 저장되어 있나요? [] <- 채워주세요!
      •  A. [1, 1, 2, 3, 1]

     

     고급 데이터 타입 질문

     아래의 한국말을 코드로 작성해주세요.

    •  1. 문자열 Array를 생성하여 "Dog", "Cat", "Bird"를 추가하세요.
    •  2. 각 요소를 반복문으로 순회하며 출력하세요.
    •  Array의 이름은 자유롭게 만드세요
    var Array: [String] = ["Dog", "Cat", "Bird"]
    for arr in Array {
        print(arr)
    }

     

Designed by Tistory.