[iOS 사전캠프] Step3.Lv2.1. 직사각형의 넓이와 둘레를 계산해요

DoyleHWorks·2024년 10월 15일
1

이전글: 연산 프로퍼티


문제


내 코드

var width = 10
var height = 5

var area: Int {
  get {
    guard width > 0 && height > 0 else {
      return 0
    }
    return width * height
  }
}
var perimeter: Int {
  get {
    guard width > 0 && height > 0 else {
      return 0 
    }
    return (width + height) * 2
  }
}

print("Area: \(area)")
print("Perimeter: \(perimeter)")

추가)
width랑 height는 타입추정을 통해 Int로 저장된다.
Double로 정의해서 연산 프로퍼티도 Double을 처리하도록 적으면 소수점도 함께 계산할 수 있을듯..

var width: Double = 10.0
var height: Double = 5.0

var area: Double {
  get {
    guard width > 0 && height > 0 else {
      return 0
    }
    return width * height
  }
}
var perimeter: Double {
  get {
    guard width > 0 && height > 0 else {
      return 0 
    }
    return (width + height) * 2
  }
}

print("Area: \(area)")
print("Perimeter: \(perimeter)")

돌려보니 잘 된다.


코드 짜면서 배운 것들

논리 연산자

  1. AND 연산자 (&&) : 두 조건이 모두 참일 때만 참

    let a = 5
    let b = 10
    
    if a > 0 && b > 0 {
        print("Both a and b are greater than 0")
    } else {
        print("One or both of the numbers are 0 or less")
    }
  2. OR 연산자 (||) : 두 조건 중 하나만 참이면 참

    let a = -1
    let b = 10
    
    if a > 0 || b > 0 {
        print("At least one of a or b is greater than 0")
    } else {
        print("Both a and b are 0 or less")
    }
  3. NOT 연산자 (!) : 조건을 반대로 만듦

    let a = true
    
    if !a {
        print("a is false")
    } else {
        print("a is true")
    }
  4. XOR 연산자 (배타적 논리합, !=) : 두 조건이 다를 때 참

    let a = true
    let b = false
    
    if a != b {
        print("a and b are different")
    } else {
        print("a and b are the same")
    }
    // 논리 연산자 결합 방식
    let a = 10
    let b = 20
    let c = -5
    
    if (a > 0 && b > 0) || c > 0 {
        print("Either a and b are both positive, or c is positive")
    } else {
        print("Neither a and b are both positive, nor is c positive")
    }
profile
Reciprocity lies in knowing enough

0개의 댓글