chyam

[백준] 1744번, python - 수 묶기 본문

백준

[백준] 1744번, python - 수 묶기

chyam_eun 2025. 7. 28. 23:19

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

n = int(input()) # 몇번
total = 0 # 총 합 
pli, mli = [], [] # 양수, 음수 저장할 리스트 
zero = False # 0이 있는가

for i in range(n):
  num = int(input())
  if num > 0: 
    pli.append(num)
  elif num < 0:
    mli.append(num)
  else:
    zero = True 

pli.sort(reverse=True) # 내림차순 정렬 
mli.sort()

for i in range(0,len(pli)-1,2):
    total += max(pli[i] * pli[i+1],pli[i] + pli[i+1]) # 그냥 더할때와 곱할때 중 큰것

if len(pli) % 2 == 1: # 홀수이면 마지막 수 더해줌
    total += pli[-1]

for i in range(0,len(mli)-1,2):
    total += max(mli[i] * mli[i+1],mli[i] + mli[i+1]) # 그냥 더할때와 곱할때 중 큰것

if len(mli) % 2 ==1: # 홀수이고 0이 아니면 마지막 수 더해줌
    if not zero:
        total += mli[-1]
        
print(total)