negno
개발Log
negno
전체 방문자
오늘
어제
  • 분류 전체보기
    • Project
      • Mini_Project
      • PTSD_Project
    • Algorithm
      • Elice
      • JavaFestival
    • BACK-END
      • C Programming
      • JAVA
      • JSP Servlet
      • Python
      • Spring
      • Machine Learning
    • FRONT-END
      • HTML CSS
      • JavaScript
    • Application
      • Android
    • DataBase
      • Oracle
      • MySql
    • IoT
      • Arduino
      • Raspberry pi

티스토리

hELLO · Designed By 정상우.
negno

개발Log

(Elice / 시뮬레이션 / Python) 균형의 수호자
Algorithm/Elice

(Elice / 시뮬레이션 / Python) 균형의 수호자

2022. 10. 12. 22:19

균형의 수호자

코더랜드 최고의 부호 OOO은 코더시티에서 가장 높은 건물을 2채 세우려고 합니다! 하지만 안타깝게도 OOO가 사용할 수 있는 건축자재는 한정적이고 두 건물 높이는 반드시 같아야 합니다!

과연 OOO은 한정된 건축 자재를 가지고 얼마나 높은 타워를 만들 수 있을까요?

입력 예시 1

1 3 5 7

출력 예시 1

8

입력 예시 2

1 2 4

출력 예시 2

재료가 부족합니다

만약 각각 1 3 5 7 이라는 길이를 가진 건축자재를 가지고 있다면 3 + 5 = 8, 1 + 7 = 8 이므로 8의 높이를 가진 건물을 2채 지을 수 있습니다!

다만, 모든 건축 자재를 꼭 사용해야 할 필요는 업습니다.

 

입력

  • 자연수로 이루어진 숫자들이 주어집니다.
  • 이 숫자의 크기는 1 보다 크거나 같으며 1000보다 작거나 같습니다.
  • 이 숫자들의 길이는 0보다 크거나 같으며 20보다 작거나 같습니다.

출력

  • 건물의 높이가 가장 크면서도 같을 수 있다면 그 높이를 출력하세요
  • 높이가 같을 수 없다면 “재료가 부족합니다”를 출력하세요

소스 코드

heights = list(map(int, input().split()))

def make_building(one, two, cnt):
    if one == two:
        global Max
        Max = max(Max, one)
    if cnt == len(heights):
        return
    make_building(one + heights[cnt], two, cnt+1)
    make_building(one, two + heights[cnt], cnt+1)
    make_building(one, two, cnt+1)

Max = 0
make_building(0,0,0)

if Max == 0:
    print('재료가 부족합니다')
else:
    print(Max)

'Algorithm > Elice' 카테고리의 다른 글

(Elice / 완전탐색 / Python) 주식 투자 기법  (0) 2022.10.13
(Elice / 수학 / Python) K번 곱하기  (0) 2022.10.12
(Elice / 시뮬레이션 / Python) 모자 장수의 모자 장사!  (0) 2022.10.12
(Elice / 완전탐색 / Python) 엘리스의 동물어 수업  (0) 2022.10.12
(Elice / 문자열 / Python) 두 가지 문자열 비교  (0) 2022.10.12
    negno
    negno

    티스토리툴바