문제
1부터 N까지의 숫자에서 홀수는 더하고 짝수는 뺐을 때 최종 누적된 값을 구해보자.
[예제 풀이]
N이 5일 경우,
1 – 2 + 3 – 4 + 5 = 3
N이 6일 경우,
1 – 2 + 3 – 4 + 5 – 6 = -3
[제약사항]
N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10)
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스에는 N이 주어진다.
[출력]
각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 누적된 값을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
문제 풀이
홀수끼리의 합과 짝수끼리의 합을 구한뒤, 결과값으로 (홀수의 합) - (짝수의 합) 을 출력해준다
작성 코드
import sys
sys.stdin = open("input.txt", "r")
T = int(input())
for test_case in range(1, T + 1):
N = int(input())
sum_even = sum(list(i for i in range(1, N+1) if i % 2 == 0))
sum_odd = sum(list(i for i in range(1, N+1) if i % 2 == 1))
print(f'#{test_case} {sum_odd-sum_even}')
느낀점
처음보다는 pythonic 한 코드 사용에 익숙해진 것 같다.
list comprehension 방식이 낯설었는데 적응하고 나니 코드도 간결해지고 로직에 집중하기 좋은 것 같다.
'Problem Solving' 카테고리의 다른 글
[SWEA] D2 - 1859. 백만 장자 프로젝트 in 파이썬 (0) | 2022.05.19 |
---|---|
[SWEA] D2 - 1984. 중간 평균값 구하기 in 파이썬 (0) | 2022.05.19 |
[SWEA] D2 - 1970. 쉬운 거스름돈 in 파이썬 (0) | 2022.05.18 |
[SWEA] D2 - 1989. 초심자의 회문 검사 in 파이썬 (0) | 2022.05.18 |
[SWEA] D2 - 1979. 어디에 단어가 들어갈 수 있을까 in 파이썬 (0) | 2022.05.17 |