-
[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
반응형'► Swift > Programmers' 카테고리의 다른 글
[Programmers] Swift 알고리즘 | Lv.0 n 번째 원소까지 (0) 2024.02.28 [Programmers] Swift 알고리즘 | Lv.0 문자열의 뒤의 n글자 (1) 2024.02.28 [Programmers] Swift 알고리즘 | Lv.0 n의 배수 고르기 (0) 2024.02.28 [Programmers] Swift 알고리즘 | Lv.0 두 수의 연산값 비교하기 (0) 2024.02.28 [Programmers] Swift 알고리즘 | Lv.0 뒤에서 5등까지 (0) 2024.02.23