Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 프로그래머스 푸드 파이트 대회
- C언어 계산기 프로그램
- 범위 기반 for문
- 원형 연결 구조 연결된 큐
- 괄호 검사 프로그램
- l-value참조자
- 알고리즘 조건
- auto 키워드
- c언어 괄호검사
- string유형
- 문제해결 단계
- const화
- C언어 스택 연산
- 운영체제 기능
- 값/참조/주소에 의한 전달
- LAN의 분류
- 네트워크 결합
- 회전 및 자리 이동 연산
- 프로그래머스 배열만들기4
- r-value참조자
- getline()함수
- const l-value참조자
- 유형 변환
- 백준 파이썬
- 입출력 관리자
- 주기억장치
- 문자형 배열
- 논리 연산
- C언어 덱
- IPv4 주소체계
Archives
- Today
- Total
chyam
[백준] 1744번, python - 수 묶기 본문

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)
'백준' 카테고리의 다른 글
| [백준] 1213번, python - 팰린드롬 만들기 (2) | 2025.07.30 |
|---|---|
| [백준] 1049번,python - 기타줄 (2) | 2025.07.29 |
| [백준] 1715번,python - 카드 정렬하기 (1) | 2025.07.21 |
| [백준] 2217번,python - 로프 (0) | 2025.07.21 |
| [백준]1676번(Python)-팩토리얼 0의 개수 (0) | 2024.02.03 |