파이썬 코딩 문제

[ 백준 ] 8393번 합 : 1부터 n까지 합을 구하기 알고리즘 - 파이썬

96__혀누 2024. 3. 20. 17:42

[ 백준 ] 8393번 합

https://www.acmicpc.net/problem/8393

 

8393번: 합

n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.

www.acmicpc.net

 


문제

n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.


풀이 1. for문

# for 반복문을 사용해서 구하기

N = int(input())

result = 0
for i in range(1, N + 1):
    result += i

print(result)

풀이 2. while문

# while 반복을 사용해서 구하기

N = int(input())

cnt = 1
my_sum = 0
while cnt <= N:
    my_sum += cnt
    cnt += 1

print(my_sum)

풀이 3. 파이썬 내장함수 sum()사용하기

N = int(input())

# sum() : 주어진 정수를 모두 더한다
my_sum = sum(range(1, N+1))

print(my_sum)

풀이 4. 수열의 합 공식 사용

# 수열의 합을 구하는 공식을 사용
# 주어진 최대 숫자의 1 과 최대 숫자를 더한 후, 해당 값을 최대 값만큼 곱한다, 그 후 2 로 나눈다
# 예 ) 1 ~ 100 까지의 합을 구할 경우, ( 1 + 100 ) * 100 / 2

N = int(input())

result = (1 + N) * N / 2

print(int(result))  # 파이썬에서 나누기 연산을 사용할 경우, 실수로 출력되기 때문에, 정수로 변환해준다.