CodingTest
SWEA - 지그재그 숫자(1986)
취업하고싶다!
2023. 10. 19. 18:51
문제
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)
접근 방식
N이 주어지면 1~N까지의 숫자 중 홀수는 그대로 더해주고 짝수는 그 짝수값에 -를 붙여서 전체를 더하는 문제
N을 입력받으면 arr에 1~N까지의 숫자를 넣어줌
그리고 arr를 돌면서 각 인덱스의 값이 2로 나눠지면(짝수) ans_arr에 (해당 값-2*해당 값)을 통해 '-'를 붙인 값을 넣어줌
2로 나눠지지 않으면(홀수) 그대로 ans_arr에 넣어줌
그 후 sum()함수를 통해 ans_arr의 총합을 출력
(D2 문제치곤 너무 쉬운 느낌...)
코드
T = int(input())
for i in range(1, T+1):
arr = []
ans_arr = []
N = int(input())
for j in range(1, N+1):
arr.append(j)
for k in arr:
if k % 2 == 0:
ans_arr.append(k-2*k)
else:
ans_arr.append(k)
print('#'+str(i), sum(ans_arr))