ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Programmers] Swift 알고리즘 | Lv.0 개미 군단
    ► Swift/Programmers 2024. 7. 5. 20:20
    반응형

    🔒 문제 설명

    개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5 공격력을, 병정개미는 3 공격력을 일개미는 1 공격력을 가지고 있습니다. 예를 들어 체력 23 여치를 사냥하려고 , 일개미 23마리를 데리고 가도 되지만, 장군개미 마리와 병정개미 마리를 데리고 간다면 적은 병력으로 사냥할 있습니다. 사냥감의 체력 hp 매개변수로 주어질 , 사냥감의 체력에 맞게 최소한의 병력을 구성하려면 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.


    🔒 제한사항  

    • hp는 자연수입니다.
    • 0 ≤ hp ≤ 1000

    🔒 입출력 예

    hp result
    23 5
    24 6
    999 201

     


    🔒 입출력 예 설명

    입출력 예 #1

    • hp가 23이므로, 장군개미 네마리와 병정개미 한마리로 사냥할 수 있습니다. 따라서 5를 return합니다.

    입출력 예 #2

    • hp가 24이므로, 장군개미 네마리 병정개미 한마리 일개미 한마리로 사냥할 수 있습니다. 따라서 6을 return합니다.

    입출력 예 #3

    • hp 999이므로, 장군개미 199 마리 병정개미 한마리 일개미 한마리로 사냥할 있습니다. 따라서 201 return합니다.

     

    🔐 solution of mine

    if else 문
    import Foundation
    
    func solution(_ hp:Int) -> Int {
        var answer:Int = 0
        var left:Int = 0
        let a:Int = 5
        let b:Int = 3
        let c:Int = 1
        
        answer += hp/a
        left += hp%a
    
        if left != 0 {
            answer += left/b
            left -= b * (left/b)
        } else {
            return answer
        }
    
        if  left != 0 {
            answer += left/c
            left -= c * (left/c)
        } else {
            return answer
        }
        
        return answer
    }
    
    
    
    print(solution(23)) // expected: 5
    print(solution(24)) // expected: 6
    print(solution(999)) // expected: 201

     

    🔐 solution of mine

    연산자 %=

    import Foundation
    
    func solution(_ hp: Int) -> Int {
        let a = 5
        let b = 3
        let c = 1
        
        var answer = hp / a
        var left = hp % a
        
        answer += left / b
        left %= b
        
        answer += left / c
        
        return answer
    }
    
    
        print(solution(23)) // expected: 5
        print(solution(24)) // expected: 6
        print(solution(999)) // expected: 201

    🔐 solution of others

    for문

    import Foundation
    
    func solution(_ hp:Int) -> Int{
        var hp = hp
        var result = 0
        for i in [5,3,1] {
            result += hp / i
            hp %= i
        }
        return result
    }
    
    print(solution(23)) // expected: 5
    print(solution(24)) // expected: 6
    print(solution(999)) // expected: 201

     

    🔐 solution of others

    import Foundation
    
    func solution(_ hp:Int) -> Int {
        let tempInt = hp % 5
        return hp/5 + tempInt/3 + tempInt % 3
    }
    
    print(solution(23)) // expected: 5
    print(solution(24)) // expected: 6
    print(solution(999)) // expected: 201

     

    🔐 solution of others

    import Foundation
    
    func solution(_ hp:Int) -> Int {hp/5 + hp % 5 / 3 + hp % 5 % 3}
        
    print(solution(23)) // expected: 5
    print(solution(24)) // expected: 6
    print(solution(999)) // expected: 201

     


     

    반응형
Designed by Tistory.