코딩스터디
[프로그래머스] 주사위의 개수 파이썬
열쩡왔쩡
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