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
      • 병정개미의 공격력을 몫으로 나눠줬어요. 그럼 병정개미의 수가 나오겠죠!?
  • worker_ant_count = (hp - (5*general_ant_count) - (3*soldier_ant_count))//1
    • 병정개미의 수를 구할 때와 비슷한 구조로 흘러갑니다!
    • 대신 이번에는 hp에 장군개미 수와 병정개미 수를 빼주어야겠죠!
  • answer = general_ant_count + soldier_ant_count + worker_ant_count
    • 그 뒤 총 출격하는 개미의 수를 더해주면 문제는 풀립니다!

실패 흔적들 

1트

🤔 코드 풀이

  • 접근 방식은 좋았던 거 같아요
  • 근데 병정개미 등장에서 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

 

🤔  +=랑 %=로 해서도 값이 구해지네요,, 우왕,, 지니어스 분들 진짜 많이 계시는 거 같아요

+ Recent posts