▶ 문제 설명
머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요..
▶ 제한 사항
- box의 길이는 3입니다.
- box[0] = 상자의 가로 길이
- box[1] = 상자의 세로 길이
- box[2] = 상자의 높이 길이
- 1 ≤ box의 원소 ≤ 100
- 1 ≤ n ≤ 50
- n ≤ box의 원소
- 주사위는 상자와 평행하게 넣습니다.
▶ 입출력 예
box | n | result |
[1, 1, 1] | 1 | 1 |
[10, 8, 6] | 3 | 12 |
▶입출력 예 설명
입출력 예 #1
- 상자의 크기가 가로 1, 세로 1, 높이 1이므로 모서리의 길이가 1인 주사위는 1개 들어갈 수 있습니다.
입출력 예 #2
- 상자의 크기가 가로 10, 세로 8, 높이 6이므로 모서리의 길이가 3인 주사위는 12개 들어갈 수 있습니다.
▶ Code
def solution(box, n):
answer = (box[0] // n) * (box[1] // n) * (box[2] // n)
return answer
▶ Point
상자의 가로 길이인 'box[0]' 을 n으로 나눈 몫과 상자의 세로 길이인 'box[1]' 을 n으로 나눈 몫, 상자의 높이인 'box[2]' 를 n으로 나눈 몫을 곱하여 상자에 들어갈 수 있는 주사위의 갯수를 구할 수 있다.
'for i in range(n)'을 통하여 0부터 n-1까지의 정수에 대하여 'print((i+1) * '*')' 와 같이 출력한다.
다른 풀이
def solution(box, n):
x, y, z = box
return (x // n) * (y // n) * (z // n )
box의 원소를 x, y, z로 받아 위의 풀이같이 지저분하게 풀지 않고 간단하게 출력할 수 있다.
'Developer > Programmers' 카테고리의 다른 글
[Programmers] LV 0. 인덱스 바꾸기 (Python/파이썬) (0) | 2023.03.09 |
---|---|
[Programmers] LV 0. 최댓값 만들기(2) (Python/파이썬) (0) | 2023.03.09 |
[Programmers] LV 0. 직각삼각형 출력하기 (Python/파이썬) (0) | 2023.03.06 |
[Programmers] LV 0. n의 배수 고르기 (Python/파이썬) (0) | 2023.03.05 |
[Programmers] LV 0. 문자열 정렬하기 (1) (Python/파이썬) (0) | 2023.03.05 |
댓글