[codeup] 4031 : 가장 큰 수

SUNGJIN KIM·2022년 3월 20일
0

CODEUP

목록 보기
28/76
post-thumbnail

문제

[문제1] 가장 큰 수 (16점, 제한시간 1초)

7개의 자연수가 주어질 때, 이들 중에서 홀수로서 가장 큰 수와 짝수로서 가장 큰 수를 각각 찾아 그 합을 구하는 프로그램을 작성하시오.

예를 들어, 67, 18, 97, 34, 78, 97, 9가 주어지면 이들 중 홀수는 67, 97, 97, 9이며, 그 중에서 가장 큰 수는 97이다. 또한 짝수는 18, 34, 78이며 이 중에서 가장 큰 수는 78이다. 따라서 합은 97 + 78 = 175가 된다.

입력에 홀수(또는 짝수)가 존재하지 않는 경우에는 짝수(또는 홀수)만을 계산한다.

입력

  1. 첫 번째 줄에 7개의 자연수가 공백으로 구분되어 주어진다.

  2. 입력되는 수는 100보다 작은 수이다.

입력 예시

67 18 97 34 78 97 9

출력

  1. 홀수로서 가장 큰 수와 짝수로서 가장 큰 수를 각각 찾아 그 합을 출력한다.

출력 예시

175

문제 풀이

하나의 케이스를 고려하지 못하고 정답을 제출해서 답이 틀렸었다.
이 생각을 못한게 아쉽다.

case. 짝수가 존재하지 않는 경우, 홀수가 존재하지 않는 경우

  • 작성한 코드를 바탕으로 생각해보면, 짝/홀수가 존재하지 않을 경우 list는 빈값이 되므로, 그에 대한 처리가 필요했다.
# https://codeup.kr/problem.php?id=4031

numbers = list(map(int,input().split(" ")))

result_sum = 0
even_Array = []
odd_Array = []

for i in range(len(numbers)):
   if numbers[i]%2 == 0:
       even_Array.append(numbers[i])
   else:
       odd_Array.append(numbers[i])

even_Array.sort()
odd_Array.sort()

if not even_Array:
   print(odd_Array[len(odd_Array)-1])
elif not odd_Array:
   print(even_Array[len(even_Array)-1])
else:
   print(even_Array[len(even_Array)-1] + odd_Array[len(odd_Array)-1])
profile
#QA #woonmong

0개의 댓글