개발일기 [Python 파이썬]

[파이썬 문제풀이] 지그재그 숫자

neullo 2024. 3. 13. 20:24

 

1부터 N까지의 숫자에서 홀수는 더하고 짝수는 뺐을 때 최종 누적된 값을 구해보자.
-출처: SW ACADEMY-

 

[예제 풀이]

N이 5일 경우,
1 – 2 + 3 – 4 + 5 = 3

N이 6일 경우,
1 – 2 + 3 – 4 + 5 – 6 = -3

 


# 테스트 케이스의 개수 입력
T = int(input())

# 각 테스트 케이스에 대해 처리
for t in range(1, T + 1):
    # 테스트 케이스 입력
    N = int(input())
    
    # 누적 값 초기화
    total = 0
    # 1부터 N까지 반복하면서 홀수는 더하고 짝수는 빼는 연산 수행
    for i in range(1, N + 1):
        if i % 2 == 1:
            total += i
        else:
            total -= i

    # 결과 출력
    print(f'#{t} {total}')

 


T = int(input())

T = int(input()): 사용자로부터 테스트 케이스의 개수를 입력받습니다. 이때 input() 함수를 통해 사용자의 입력을 받고, int() 함수를 사용하여 문자열 형태의 입력을 정수로 변환합니다. 그리고 이를 변수 **T**에 저장합니다. 이 변수는 테스트 케이스의 개수를 나타냅니다.

pythonCopy code
for t in range(1, T + 1):

for t in range(1, T + 1):: 테스트 케이스의 개수만큼 반복하는 반복문을 시작합니다. **range(1, T + 1)**은 1부터 **T**까지의 숫자를 순차적으로 생성하는 이터러블을 만듭니다. 이를 통해 t 변수에는 각 테스트 케이스의 번호가 순서대로 할당됩니다.

pythonCopy code
    N = int(input())

N = int(input()): 각 테스트 케이스마다 수행할 연산을 나타내는 정수 **N**을 입력받습니다. 마찬가지로 input() 함수를 통해 사용자의 입력을 받고, int() 함수를 사용하여 문자열 형태의 입력을 정수로 변환하여 변수 **N**에 저장합니다.

pythonCopy code
    total = 0

total = 0: 각 테스트 케이스마다 새로운 누적 값을 초기화합니다. 이 변수는 홀수와 짝수를 더하고 빼는 연산의 결과를 담습니다.

pythonCopy code
    for i in range(1, N + 1):

for i in range(1, N + 1):: 1부터 **N**까지의 숫자를 순차적으로 반복하는 반복문을 시작합니다. 이는 주어진 조건에 따라 홀수는 더하고 짝수는 빼는 연산을 수행하기 위함입니다.

pythonCopy code
        if i % 2 == 1:
            total += i
        else:
            total -= i

if i % 2 == 1:: 현재 숫자 **i**가 홀수인지 검사합니다. 홀수인 경우에는 total 변수에 현재 숫자를 더합니다. else:: 그렇지 않은 경우(즉, 짝수인 경우)에는 total 변수에서 현재 숫자를 뺍니다.

pythonCopy code
    print(f'#{t} {total}')

print(f'#{t} {total}'): 각 테스트 케이스의 결과를 출력합니다. 결과는 테스트 케이스의 번호와 함께 출력됩니다. 문자열 포맷팅을 사용하여 t 변수를 테스트 케이스의 번호로 사용하고, total 변수의 값을 출력합니다.