본문 바로가기
백준 알고리즘

백준 - 8393번 합 python 문제풀이 [Hellfer]

by Hellfer 2023. 12. 10.
728x90

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

 

8393번: 합

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

www.acmicpc.net

🔷 알고리즘 분류 - 수학, 구현  난이도 - 브론즈 5

1. int(): 이 함수는 문자열을 정수로 변환하는 역할을 합니다. 예를 들어, int("10")은 문자열 "10"을 정수 10으로 변환합니다.


2. input(): 이 함수는 사용자로부터 입력을 받는 역할을 합니다.

 

프로그램이 실행되는 도중에 사용자에게 메시지를 표시하고, 사용자의 입력을 받아 반환합니다.

예를 들어, input("숫자를 입력하세요: ")는 "숫자를 입력하세요: "라는 메시지를 출력하고, 사용자로부터 입력을 받습니다.


3. print(): 이 함수는 값을 출력하는 역할을 합니다. 프로그램이 실행되는 도중에 값을 화면에 출력합니다.

 

예를 들어, print("Hello, world!")는 "Hello, world!"라는 문자열을 출력합니다.

🔶첫 번째 문제풀이 - 구현을 이용한 풀이

n = int(input())  # 사용자로부터 정수 입력 받기
result = 0  # 결과를 저장할 변수 초기화

# 1부터 n까지의 숫자를 반복하면서 결과에 더하기
for i in range(1, n+1):
    result += i

print(result)  # 결과 출력

🔶두 번째 문제풀이 - 재귀함수를 이용한 풀이

import sys
sys.setrecursionlimit(10**6)

def check(i):
    if i == 1:  # i가 1인 경우, 1을 반환합니다. 재귀의 종료 조건입니다.
        return 1
    else:
        return i + check(i-1)  # i와 check(i-1)의 값을 더한 후 반환합니다.

n = int(input())  # 사용자로부터 정수 입력을 받습니다.
print(check(n))  # check 함수를 호출하여 결과를 출력합니다.

🔶세 번째 문제풀이 - 등차수열을 이용한 풀이

n = int(input())  # 사용자로부터 정수 입력을 받습니다.

result = ((1 + n) * n) // 2  # 등차수열의 합을 계산합니다.

print(result)  # 결과를 출력합니다.


등차수열의 합 공식인 (시작값 + 끝값) * 개수 / 2를 활용하여 구할 수 있습니다.


예를 들어, result = (1 + n) * n / 2와 같이 코드를 작성할 수 있습니다.

 

🤗파이팅입니다~ 여러분!!🤗

 

728x90