스파르타 코딩 클럽 - iOS 스타터 6기/알고리즘 코드카타

3. 스파르타 코딩 클럽 - 3월 13일 코딩테스트 연습 (코드카타)

seongpil Heo 2025. 3. 13. 10:15

 ❓ 오늘의 문제

1. 나머지 구하기

  • 정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해 주세요.

나의 답안 코드

import Foundation

func solution(_ num1:Int, _ num2:Int) -> Int {
    return num1 % num2
}

 

2. 숫자 비교하기

나의 답안 코드

import Foundation

func solution(_ num1:Int, _ num2:Int) -> Int {
    if num1 == num2 {
        return 1
    }
    return -1   
}

 

3. 배열의 평균값

배열의 평균값

나의 답안 코드

import Foundation

func solution(_ numbers:[Int]) -> Double {
    var sum:Int = 0
    for i in numbers {
        sum += i
    }
    var avg = Double(sum) / Double(numbers.count)
    return avg
}

 ✓ TIL

오늘도 간단한 3문제 풀어봤다.

오늘 트러블은 3번 문제에서 발생하였는데

 

import Foundation

func solution(_ numbers:[Int]) -> Double {
    var sum:Int = 0
    for i in numbers {
        sum += i
    }
    // var avg = Double(sum / numbers.count)  // 처음 코드
    vcr avg = Double(sum) / Double(number.count) // 수정한 코드
    return avg
}

 

처음 코드로 var avg = Double(sum / numbers.count)로 작성하였는데 1부터 10까지의 배열 평균의 값이 5.5가 아닌 5.0이 나왔다.

그래서 코드를 살펴보니 평균을 구하는 내 코드에서는 정수형 / 정수형을 수행하고 그 이후에 Double 형으로 타입 변환이 진행됐다.

 

내가 원하는 5.5의 결과값을 만들기 위해서는 실수형 / 실수형을 수행해야 하고

그러기 위해서는 코드를 Double(sum) / Double(number.count) 같이 수정하고 

연산의 결과값을 avg에 저장하도록 코드를 변경하였다.

 

코드를 수정하니 정상적으로 연산의 결과가 출력되었다.

 

앞으로는 수의 연산을 진행할 때 타입을 잘 확인한 후 코드를 작성하도록 해야겠다.


 😼 GitHub

잔디

오늘도 잔디 심기 완료!