Swift - func 연습

박인준·2019년 11월 28일
0

Swift

목록 보기
6/21

func 연습

/*
 - 학점을 입력받아 각각의 등급을 반환해주는 함수 (4.5 = A+,  4.0 = A, 3.5 = B+ ...)
 - 특정 달을 숫자로 입력 받아서 문자열로 반환하는 함수 (1 = "Jan" , 2 = "Feb", ...)
 - 세 수를 입력받아 세 수의 곱이 양수이면 true, 그렇지 않으면 false 를 반환하는 함수
   (switch where clause 를 이용해 풀어볼 수 있으면 해보기)
 */


func 등급(학점:Double) -> String {
    if 학점 == 4.5 {
        return "A+"
    } else if  학점 == 4.0{
        return "A"
    } else if  학점 == 3.5{
        return "B"
    } else if  학점 == 3.0{
        return "B"
    } else if  학점 == 2.5{
        return "C+"
    } else if  학점 == 2.0{
        return "C"
    } else {
        return "F"
    }
}

등급(학점: 3.0)


func transMonth(month: Int) -> String {
    switch month {
    case month where month == 1:
        return "Jan"
    case month where month == 2:
        return "Feb"
    case month where month == 3:
        return "Mar"
    case month where month == 4:
        return "Apr"
    case month where month == 5:
        return "May"
    case month where month == 6:
        return "Jun"
    case month where month == 7:
        return "Jul"
    case month where month == 8:
        return "Aug"
    case month where month == 9:
        return "Setp"
    case month where month == 10:
        return "Oct"
    case month where month == 11:
        return "Nov"
    default:
        return "Dec"
    }
    
}
transMonth(month: 12)


//세 수를 입력받아 세 수의 곱이 양수이면 true, 그렇지 않으면 false 를 반환하는 함수
//(switch where clause 를 이용해 풀어볼 수 있으면 해보기)

func inputThreeNum(num1:Int, num2:Int, num3:Int) -> Bool {
    let multiNum = num1*num2*num3
    switch multiNum {
    case multiNum where multiNum > 0:
        return true
    default:
        return false
    }
    
}

inputThreeNum(num1: -27, num2: -11, num3: 3)


// 자연수 하나를 입력받아 그 수의 Factorial 을 구하는 함수
   (Factorial 참고: 어떤 수가 주어졌을 때 그 수를 포함해 그 수보다 작은 모든 수를 곱한 것)
//   ex) 5! = 5 x 4 x 3 x 2 x 1


func 팩토리얼계산(num:Int) -> Int {
    var result = num
    var fact = num - 1
    
    for _ in 2...num {
        result *= fact
        fact -= 1
        
    }
    return result
}
팩토리얼계산(num: 5)


//자연수 두 개를 입력받아 첫 번째 수를 두 번째 수만큼 제곱하여 반환하는 함수
//(2, 5 를 입력한 경우 결과는 2의 5제곱)

func 제곱하자(:Int, 지수:Int) -> Int {
    var i = 1
    var reuslt =while i < 지수 {
        reuslt *= 밑
        i += 1
    }
    return reuslt
}

제곱하자(: 7, 지수: 3)


//자연수 하나를 입력받아 각 자리수 숫자들의 합을 반환해주는 함수
//(1234 인 경우 각 자리 숫자를 합치면 10)

func 자연수입력(input:Int) -> Int {
    
    var n = input
    var sum = 0
    
    while(n != 0){
        
        sum += n%10
        n = n/10
    }
    return sum
}

자연수입력(input: 12048)


// - 자연수 하나를 입력받아 1부터 해당 숫자 사이의 모든 숫자의 합을 구해 반환하는 함수를 만들되,
//   그 합이 2000 을 넘는 순간 더하기를 멈추고 바로 반환하는 함수

func inputOneNum(드루와: Int) -> Int {
  var i = 1
  var j = 0
 
         repeat {
            j += i
            i += 1
            
            if(j >= 2000) {
                break
            }
            
        } while i <= 드루와
       return j
    }

inputOneNum(드루와: 100)


//1 ~ 50 사이의 숫자 중에서 20 ~ 30 사이의 숫자만 제외하고 그 나머지를 모두 더해 출력하는 함수


func 오십까지더하기(num1:Int) -> Int {
    
    var i1 = 1
    var j1 = 0
    var i2 = 20
    var j2 = 0
      
        repeat {
            j1 += i1
            i1 += 1
        } while i1 <= num1
    
    repeat {
        j2 += i2
        i2 += 1
    } while i2 <= 30
    
        return j1 - j2
    
}

오십까지더하기(num1: 50)

profile
iOS 개발자가 되기 위해

0개의 댓글