BOJ_2576 홀수
- TOC {:toc}
이 글은 백준 온라인 저지의 2576번 문제를 파이썬(Python)으로 풀이한 것을 모아놓은 글입니다.
일종의 연습 기록이며 제가 정답을 받은 코드와 참고할만한 다른 코드를 같이 기록합니다. 필요한 경우 코드에 대한 해설을 기록합니다만 코드는 통과했어도 해설은 틀릴 수 있기 때문에 가볍게 참고해주시길 부탁드립니다. 피드백은 편하신 방법으로 자유롭게 주시면 감사하겠습니다.
2021.04.23
메모리 | 시간 | 코드 길이 |
---|---|---|
28776 KB | 68 ms | 139 B |
I = [int(input()) for _ in range(7)]
N = sorted([n for n in I if n % 2])
if len(N):
print(sum(N))
print(N[0])
else:
print(-1)
피드백
sorted()
없이min(N)
으로 최솟값을 출력하는게 나은 것 같다.- 리스트
I
를 그냥N
안에 넣어서 작성하고 출력 조건문도 한 줄로 작성하면 더 간결하게 작성할 수 있다.
참고 답안
# 풀이 1-1
l = [i for i in [int(input()) for _ in [0] * 7] if i & 1]
if l:
print(sum(l)), print(min(l))
else:
print(-1)
# 풀이 1-2
nums = [x for x in [int(input()) for _ in range(7)] if x % 2]
print(sum(nums), min(nums) if nums else -1, sep="\n")
아이디어 & 풀이
입력받은 수중 홀수인 수로만 리스트 l
을 구성한다.
- 홀수 판단에 1과 비트 연산 AND를 이용할 수도 있다(
i & 1
).
l
에 원소가 존재하면 원소의 합과 최솟값을 출력한다.
- 리스트 자체도 원소의 개수에 따라
True
/False
가 나뉘기 때문에len()
을 이용하지 않아도 된다.
-
ps-python