def solution(hp):
general_ant_count = hp//5
soldier_ant_count = (hp - (5*general_ant_count))//3
worker_ant_count = (hp - (5*general_ant_count) - (3*soldier_ant_count))//1
answer = general_ant_count + soldier_ant_count + worker_ant_count
return answer
🤔 문제 풀이
- hp가 주어지고, 최소한의 개미 수를 통해서 사냥을 갈 겁니다!
- 장군개미는 5의 공격력, 병정개미는 3의 공격력, 일개미는 1의 공격력이에요
🧐 코드 풀이
- general_ant_count = hp//5
- 먼저 장군개미만 출격하는 경우를 몫으로 구해줬어요
- soldier_ant_count = (hp - (5*general_ant_count))//3
- soldier_ant_count =
- 두 번째로는 병정개미만 출격하는 경우는
- (hp - (5*general_ant_count))
- hp에서 (장군개미가 출격한 몫에 곱하기 5의 공격력을 해준 값에 뺀 후)의 값에
- //3
- 병정개미의 공격력을 몫으로 나눠줬어요. 그럼 병정개미의 수가 나오겠죠!?
- soldier_ant_count =
- worker_ant_count = (hp - (5*general_ant_count) - (3*soldier_ant_count))//1
- 병정개미의 수를 구할 때와 비슷한 구조로 흘러갑니다!
- 대신 이번에는 hp에 장군개미 수와 병정개미 수를 빼주어야겠죠!
- answer = general_ant_count + soldier_ant_count + worker_ant_count
- 그 뒤 총 출격하는 개미의 수를 더해주면 문제는 풀립니다!
실패 흔적들
🤔 코드 풀이
- 접근 방식은 좋았던 거 같아요
- 근데 병정개미 등장에서 answer문을 완성시키지 못하겠더라구요,,
- 그래서 코드를 처음부터 다시 짜볼 생각으로 다 지우고 생각을 해보았습니다.
그렇게 해서 완성된 게 정답이 되더라구요!!
그때 만큼의 짜릿함은 얼마나 맛있는지 😋
다른분들 풀이
def solution(hp):
return hp // 5 + (hp % 5 // 3) + ((hp % 5) % 3)
🤔 몫으로 시작해서 나머지로 해도 되는군요,, hp에서 빼지 않아도 되나봐요
def solution(hp):
answer = 0
answer += hp//5
hp %= 5
answer += hp//3
hp %= 3
answer += hp//1
return answer
🤔 +=랑 %=로 해서도 값이 구해지네요,, 우왕,, 지니어스 분들 진짜 많이 계시는 거 같아요
'문제 풀기 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 대문자와 소문자 .upper() .lower(), .swapcase() .capitalize() (0) | 2024.12.24 |
---|---|
숨어있는 숫자의 덧셈(1) (+다른 사람 풀이) (2) | 2024.12.19 |
순서쌍의 개수(for과 range()함수, 공약수 문제) (0) | 2024.12.16 |
진료순서 정하기 (+index(), 고통받은 문제2h) (0) | 2024.12.16 |
두 수의 차 (0) | 2024.12.12 |