๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ Today I Learned/Project ์ •๋ฆฌ

[Swift] ๊ณ„์‚ฐ๊ธฐ ๊ตฌํ˜„ํ•˜๊ธฐ

by Joseph Seong 2023. 12. 1.

 

๋‚˜๋งŒ์˜ ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ

 

 

๐Ÿ“Œ ํ•„์ˆ˜ ๊ตฌํ˜„ ๊ธฐ๋Šฅ

  • Lv1 : ๋”ํ•˜๊ธฐ, ๋นผ๊ธฐ, ๋‚˜๋ˆ„๊ธฐ, ๊ณฑํ•˜๊ธฐ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” Calculator ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ , ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•˜๊ณ  ์ถœ๋ ฅํ•˜๊ธฐ

 

  • Lv2 : Lv1์—์„œ ๋งŒ๋“  Calculator ํด๋ž˜์Šค์— ์ถ”๊ฐ€ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์—ฐ์‚ฐ ์ง„ํ–‰ ํ›„ ์ถœ๋ ฅํ•˜๊ธฐ

 

  • Lv3 : AddOperation(๋”ํ•˜๊ธฐ), SubstractOperation(๋นผ๊ธฐ), MultiplyOperation(๊ณฑํ•˜๊ธฐ), DivideOperation(๋‚˜๋ˆ„๊ธฐ) ์—ฐ์‚ฐ ํด๋ž˜.           ์Šค๋ฅผ์„ ๋งŒ๋“  ํ›„ ํด๋ž˜์Šค๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ Calculator ํด๋ž˜์Šค์™€ ๊ด€๊ณ„๋ฅผ ๋งบ๊ธฐ
    •  

 

 

Lv 1 ( ๋”ํ•˜๊ธฐ, ๋นผ๊ธฐ, ๋‚˜๋ˆ„๊ธฐ, ๊ณฑํ•˜๊ธฐ ์—ฐ์‚ฐ )

class Calculator {
    func calculate(operation: String, firstNumber: Int, secondNumber: Int) -> Double {
        if operation == "+" {
            return Double(firstNumber + secondNumber)
        }

        if operation == "-" {
            return Double(firstNumber - secondNumber)
        }

        if operation == "*" {
            return Double(firstNumber * secondNumber)
        }

        if operation == "/" {
            return Double(firstNumber) / Double(secondNumber)
        }

        // ์ •ํ™•ํ•œ operation์ด ์ „๋‹ฌ๋˜์ง€ ์•Š์„ ์‹œ 0์„ ๋ฆฌํ„ด(nil์„ ๋ฆฌํ„ดํ•ด๋„ ๋จ)
        return 0
    }
}

let calculator = Calculator()

let addResult = calculator.calculate(operation: "+", firstNumber: 5, secondNumber: 3)
let subtractResult = calculator.calculate(operation: "-", firstNumber: 8, secondNumber: 4)
let multiplyResult = calculator.calculate(operation: "*", firstNumber: 6, secondNumber: 2)
let divideResult = calculator.calculate(operation: "/", firstNumber: 10, secondNumber: 2)

print("addResult: \(addResult)")
print("subtractResult: \(subtractResult)")
print("multiplyResult: \(multiplyResult)")
print("divideResult: \(divideResult)")

 

 

Lv 2  ( ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ ์ถ”๊ฐ€ )

class Calculator {
    func calculate(operation: String, firstNumber: Int, secondNumber: Int) -> Double {
        if operation == "+" {
            return Double(firstNumber + secondNumber)
        }

        if operation == "-" {
            return Double(firstNumber - secondNumber)
        }

        if operation == "*" {
            return Double(firstNumber * secondNumber)
        }

        if operation == "/" {
            return Double(firstNumber) / Double(secondNumber)
        }

        if operation == "%" {
            return Double(firstNumber % secondNumber)
        }

        // ์ •ํ™•ํ•œ operation์ด ์ „๋‹ฌ๋˜์ง€ ์•Š์„ ์‹œ 0์„ ๋ฆฌํ„ด(nil์„ ๋ฆฌํ„ดํ•ด๋„ ๋จ)
        return 0
    }
}

let calculator = Calculator()

let addResult = calculator.calculate(operation: "+", firstNumber: 5, secondNumber: 3)
let subtractResult = calculator.calculate(operation: "-", firstNumber: 8, secondNumber: 4)
let multiplyResult = calculator.calculate(operation: "*", firstNumber: 6, secondNumber: 2)
let divideResult = calculator.calculate(operation: "/", firstNumber: 10, secondNumber: 2)
let remainderResult = calculator.calculate(operation: "%", firstNumber: 10, secondNumber: 3)

print("addResult: \(addResult)")
print("subtractResult: \(subtractResult)")
print("multiplyResult: \(multiplyResult)")
print("divideResult: \(divideResult)")
print("remainderResult: \(remainderResult)")

 

 

Lv 3 ( ๋‹จ์ผ์ฑ…์ž„์›์น™ )

 

๐Ÿ–‹๏ธ  ๋‹จ์ผ์ฑ…์ž„์›์น™์ด๋ž€?

 

ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋Š” ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜์˜ ๋™์ž‘๋งŒ์˜ ์ฑ…์ž„์„ ๊ฐ–๋Š”๋‹ค๋Š” ์›์น™

 

 

 

 

'๐Ÿ Today I Learned > Project ์ •๋ฆฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Swift] Swift ์ •๋ฆฌ  (0) 2023.12.04