코딩스터디

[프로그래머스] 주사위의 개수 파이썬

열쩡왔쩡 2024. 9. 12. 16:49

# 문제

문제 설명

머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요.


제한사항
  • box의 길이는 3입니다.
  • box[0] = 상자의 가로 길이
  • box[1] = 상자의 세로 길이
  • box[2] = 상자의 높이 길이
  • 1 ≤ box의 원소 ≤ 100
  • 1 ≤ n ≤ 50
  • n ≤ box의 원소
  • 주사위는 상자와 평행하게 넣습니다.

#코드

def solution(box, n):
    # result는 큐브의 총 개수를 저장할 변수, 처음엔 1로 시작
    result = 1
    
    # box 리스트의 각 차원을 순회하며
    for curr in box:
        # 각 차원의 크기를 큐브의 한 변 길이 n으로 나눈 몫을 계산하여 result에 곱함
        result *= curr // n
    
    # 계산된 총 큐브 개수를 반환
    return result

 

#상세설명

 result *= curr // n의 뜻:

  • curr // n: 현재 차원의 크기(curr)를 큐브의 한 변 길이(n)로 나눈 몫을 계산하는 것입니다. 예를 들어, curr이 10이고, n이 2라면, 10 // 2 = 5가 됩니다. 즉, 해당 차원에 큐브가 5개 들어간다는 의미입니다.
  • result *= curr // n: result에 현재 계산된 몫(curr // n)을 곱해서 그 값을 업데이트하는 것입니다. 처음에는 result가 1로 시작해서, 차원별로 들어가는 큐브 수를 계속 곱해 나가며 전체 박스에 들어갈 큐브의 수를 구하는 과정입니다.
728x90