728x90
2625(Codeup). 삼각화단 만들기 (Small)
주어진 화단 둘레의 길이를 이용하여 삼각형 모양의 화단을 만들려고 한다. 이 때 만들어진 삼각형 화단 둘레의 길이는 반드시 주어진 화단 둘레의 길이와 같아야 한다. 또한, 화단 둘레의 길이와 각 변의 길이는 자연수이다.
예를 들어, 만들고자 하는 화단 둘레의 길이가 9m라고 하면
한 변의 길이가 1m, 두 변의 길이가 4m인 화단,
한 변의 길이가 2m, 다른 변의 길이가 3m, 나머지 변의 길이가 4m인 화단,
세 변의 길이가 모두 3m인 3가지 경우의 화단을 만들 수 있다.
화단 둘레의 길이를 입력받아서 만들 수 있는 서로 다른 화단의 수를 구하는 프로그램을 작성하시오. 두 뭉치가 있습니다. 왼쪽 뭉치에서 카드를 하나 뽑고 오른쪽 뭉치에서 카드를 하나 뽑아서, 나온 두 수의 곱 중 가장 큰 값을 구하시오.
입력
화단의 길이가 주어진다.(단, 3 <= n <= 100)
출력
n으로 만들 수 있는 서로 다른 화단의 수를 출력한다.
❧ 테스트 셋
9
❧ 출력 예시
3
❧ 정답
round = int(input())
count = 0
long_side = round // 2
for i in range(long_side, 0, -1):
if i < (round - i)//2:
break
if i < (round - i):
for j in range(1, (round - i)//2):
print(j)
side_1 = j
side_2 = (round - i - side_1)
if (i >= side_1) and (i >= side_2):
count += 1
print(count)
1️⃣ 나올 수 있는 가장 긴 변의 길이(삼각형 둘레 // 2)에서 부터 1씩 감소하며 반복 진행
└ 삼각형 성립 조건이 "(가장 긴 변) < (나머지 두 변의 합)" 이므로
2️⃣ 가장 긴 변이 나머지 "두 변을 2로 나눈 값"보다 작으면 반복 종료
3️⃣ side_1 을 1에서 시작하여 side_2와 같을 때 까지 삼각형 쌍 탐색 진행
메모리 | 시간 | 언어 | 길이 |
27724 KB | 16 MS | Python | 328 B |
728x90
728x90
'📊 Algorithm > Algorithm PS' 카테고리의 다른 글
[알고리즘 일기] 31. 한수 (0) | 2021.06.01 |
---|---|
[알고리즘 일기] 30. 최대 공약수 구하기 (0) | 2021.05.30 |
[알고리즘 일기] 28. 먹을 것인가 먹힐 것인가 (0) | 2021.05.28 |
[알고리즘 일기] 27. 디지털 도어락 (0) | 2021.05.27 |
[알고리즘 일기] 26. 최소 대금 (0) | 2021.05.26 |