CodingTest

SWEA - 지그재그 숫자(1986)

취업하고싶다! 2023. 10. 19. 18:51
 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

문제

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))