포시코딩

[프로그래머스][Lv.0] 개미 군단 본문

자료구조알고리즘/문제풀이

[프로그래머스][Lv.0] 개미 군단

포시 2022. 12. 31. 18:05
728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/120837

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 풀이 A

def solution(hp):
    answer = 0
    a = hp // 5
    print('a: ', a)
    hp -= (a*5)
    b = hp // 3
    print('b: ', b)
    hp -= (b*3)
    c = hp // 1
    print('c: ', c)
    answer = a+b+c
    
    return answer

 

내 풀이 B

def solution(hp):
    answer = 0
    for power in [5, 3, 1]:
        ant = hp // power
        hp -= ant * power
        answer += ant
    
    return answer

위에서 푼 방법을 정리해 개미 종류가 늘어나도 손쉽게 확장할 수 있도록 변경해봤다.

 

다른 풀이

def solution(hp):
    answer = 0
    for ant in [5, 3, 1]:
        d, hp = divmod(hp, ant)
        answer += d
    return answer

divmod(a, b) = 몫, 나머지

a를 b로 나눈 값의 몫과 나머지를 출력하는 함수를 사용해서

나처럼 변하는 hp에 대해 나머지로 더 편하게 구하는 방법을 사용했음

728x90