728x90
출처: www.acmicpc.net/problem/2576
홀수 출처분류
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
1 초 | 128 MB | 13843 | 7150 | 6311 | 53.506% |
문제
7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최솟값을 찾는 프로그램을 작성하시오.
예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지면 이들 중 홀수는 77, 41, 53, 85이므로 그 합은
77 + 41 + 53 + 85 = 256이 되고, 41 < 53 < 77 < 85이므로 홀수들 중 최솟값은 41이 된다.
입력
입력의 첫째 줄부터 일곱 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100보다 작다.
출력
홀수가 존재하지 않는 경우에는 첫째 줄에 -1을 출력한다. 홀수가 존재하는 경우 첫째 줄에 홀수들의 합을 출력하고, 둘째 줄에 홀수들 중 최솟값을 출력한다.
예제 입력 1
12
77
38
41
53
92
85
예제 출력 1
256 41
예제 입력 2
2
4
20
32
6
10
8
예제 출력 2
-1
이 문제에서는 런타임 에러를 해결하기 위해 sys.stdin.readline을 사용해주었다. 이는 한 줄의 문자열을 반환하는데 사용된다. 리스트를 생성하고, 총 7개의 숫자를 입력하기 위해 for문을 이용한다.
입력값이 2로 나눈 나머지가 0이 아닐경우, 홀수이기 때문에 nList에 추가한다.
출력값은 홀수로 이루어진 nList의 총합과 최솟값을 출력해야하고 만약 홀수가 없으면 -1을 출력한다.
여기서 내장함수인 sum()과 min()을 이용해주면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
|
import sys
input = sys.stdin.readline
nList = []
for i in range(7):
a = int(input())
if a % 2 != 0:
nList.append(a)
if nList:
print(sum(nList))
print(min(nList))
else:
print(-1)
|
cs |
728x90
'Baekjoon Online' 카테고리의 다른 글
[python] 백준 5622번_다이얼 (0) | 2021.01.26 |
---|---|
[python] 백준 1157번_단어 공부 (0) | 2021.01.23 |
[python] 백준 1065번_한수 (0) | 2021.01.22 |
[python] 백준 1057번_토너먼트 (0) | 2021.01.21 |
[python] 백준 2908번_상수 (0) | 2021.01.20 |