[백준] 20300번 : 서강근육맨 (Python)

2023. 3. 16. 01:50알고리즘/그리디

 

 

 

https://www.acmicpc.net/problem/20300

 

20300번: 서강근육맨

PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다.

www.acmicpc.net

 

💡 문제 접근

  • 운동기구가 짝수일 때와 홀수일 때를 각각 생각해야함
  • 짝수일 때는 가장 작은 값과 큰 값을 짝지어서 더해주고
  • 홀수일 때는 가장 큰 값을 혼자 두기 

 

💡 내 코드

# 서강근육맨
n = int(input())
m= list(map(int,input().split()))

m= sorted(m) # 기구 근손실 작은 값부터  정렬
result= []

if n % 2 ==0: # 운동기구 수 짝수일 때  
    j = n-1
else:        # 운동기구 수 홀수일 때  
    j=n-2 
    result.append(m[-1]) 
    
i=0    
while i < j:
    cnt= m[i]+m[j] 
    result.append(cnt)
    
    i+=1 
    j-=1
    
print(max(result))