7. 두 수의 나눗셈

Harold's velog·2024년 1월 24일

CodingTest (Class)

목록 보기
7/52

나의 코드 (24.1.24)

import Foundation

func solution(_ num1:Int, _ num2:Int) -> Int {
    
    var answer = 0
    
    if num1 > 0 && num1 <= 100 {
        
        if num2 > 0 && num2 <= 100 {
            
            answer = Int(Double(num1) / Double(num2) * 1000)
             
        }
    }
    
    return answer
}

처음에 막힌 이유.
형변환인데 처음에는 Double로 num1/num2를 전체로 단순하게 감싸서 계산을 하면 될것같다는 안일한 생각을 하였다. 실제로 답이 틀려서 playground를 통해 실제로 나눈값을 출력을 해보니 3/2 = 1 이 나왔다.

그래서 전체를 감싸는 것이 아닌, num1, num2를 개별로 Double로 형변환을 한뒤에 나누니 1.5로 잘 나오는 것을 확인하였다. 하지만 answer의 형태는 Int 이므로 아무리 뒤에 1000을 곱하여도 우측의 자료형은 현재 Double 이므로 answer와 자료형을 일치시키기 위해 또다시 전체를 Int로 감싸주었다.

profile
데일리 정리, 하루에 최소 하나의 글은 적도록 하자.

0개의 댓글