나만의 계산기 만들기 Level 2!
→ 나는 swich문과 %를 연산자를 사용하며 어렵게 생각했던 문제였는데 튜터님의 설명을 보니 mod라는 변수를 Int 타입으로 선언하시고 아주 단순하게 %로 나머지 연산을 하셔서 조금은 허탈했다. 이 경우 타입을 Double로 설정해보니 에러가 났다. 숫자 연산은 Double로 사용해버리자! 라고 생각했던 나의 단순한 사고방식은 고쳐야겠다.
( 앞서 진행한 Lv 1 내용보기 >> Lv1 에서 만든 Calculator )
Level 2 : Lv1에서 만든 Calculator 클래스에 나머지 연산이 가능하도록 코드를 추가
↓ 아래는 덧셈 뺄셈은 Double 타입으로 풀었던 나의 사칙연산 클래스에 mod 변수와 예시를 추가한 최종 코드이다.
튜터님은 나눗셈을 제외한 모든 연산을 Int 타입으로 풀어주셨다.
class Calculator {
func add(_ a: Double, _ b: Double) -> Double {
return a + b
}
func subtract(_ a: Double, _ b: Double) -> Double {
return a - b
}
func multiply(_ a: Double, _ b: Double) -> Double {
return a * b
}
func divide(_ a: Double, _ b: Double) -> Double {
guard b != 0 else {
print("0으로 나눌 수 없습니다.")
return 0.0
}
return a / b
}
func mod(_ a: Int, _ b: Int) -> Int {
return a % b
}
}
let calculator = Calculator()
print(calculator.add(1, 2))
print(calculator.subtract(3, 1))
print(calculator.multiply(3,5))
print(calculator.divide(1,0))
print(calculator.mod(6, 3))
↓ 아래는 튜터님이 공유해 주신 풀이 예시 (주석을 넣는 스타일을 잘 기억해 두어야겠다.)
class Calculator {
func add(_ number1: Int, _ number2: Int) -> Int {
number1 + number2
}
/// https://developer.apple.com/library/archive/documentation/Xcode/Reference/xcode_markup_formatting_ref/
/**
- parameters:
- number1: 빼기 연산자의 왼쪽에 오는 수
- number2: 빼기 연산자의 오른쪽에 오는 수
*/
func minus(_ number1: Int, _ number2: Int) -> Int {
number1 - number2
}
func multiply(_ number1: Int, _ number2: Int) -> Int {
number1 * number2
}
func divide(_ number1: Int, _ number2: Int) -> Double {
guard number2 != 0 else {
return 0.0
}
return Double(number1) / Double(number2)
}
func mod(_ number1: Int, _ number2: Int) -> Int {
number1 % number2
}
}
let calculator = Calculator() // 인스턴스 생성하여 변수에 할당
//print(calculator.add(1, 2)) // 3
//
//print(calculator.minus(3, 1)) // 2
//
//print(calculator.multiply(3, 5)) // 15
//
//print(calculator.divide(1, 0)) // 0.3333..
//
//calculator.mod(3, 5) // 3
//
//calculator.mod(6, 3) // 0
//
//calculator.mod(5, 3) // 2
'iOS 앱 개발자 프로젝트 > 개인 프로젝트' 카테고리의 다른 글
[Project] 숫자 야구 게임 만들기 (Lv1) (0) | 2024.03.12 |
---|---|
[Project] 숫자 야구 게임 만들기(Lv1-6) (0) | 2024.03.11 |
[Project] #4 나만의 계산기 만들기(Lv3) (2) | 2024.03.07 |
[Project] #2 나만의 계산기 만들기(Lv1) (2) | 2024.03.05 |
[Project] #1 나만의 계산기 만들기(Lv1-4) (0) | 2024.03.05 |