본문 바로가기
알고리즘-python/알고리즘

[알고리즘] 1부터 n까지 연속한 숫자의 합

by 빅데이터1020 2020. 7. 1.
SMALL

출처: 모두의 알고리즘

알고리즘을 공부하면서 [모두의 알고리즘]의 문제를 풀고, 그 성장과정을 기록하는 목적으로 작성되었습니다.

 

※ 예시문제 - 1부터 n까지 연속한 숫자의 합 구하기

● 해결 팁

계산한 결과를 게속 기억해서 입력 받은 값과 기존 값을 더함

 

1. 합을 기록할 변수 s를 만들고 0을 저장

2. 변수 i를 만들어 1부터 n까지의 숫자를 1씩 증가시키며 반복

3. [반복블록] 기존의 s에 i를 더하여 얻은 값을 다시 s에 저장

4. 반복이 끝났을 때 s에 저장된 값이 결과~!

 

● 정답 코드 - 1. 계산결과 기억하기

def sum_n(n):
	s = 0
	for i in range(1, n+1):
    		s = s+i
	return s

 

● 정답 코드 - 2. 가우스의 방법

def sum_n(n):
	return n*(n+1)//2
# //는 정수 나눗셈을 의미

 

 

※ 연습문제 - 1부터 n까지 연속한 숫자의 제곱합을 구하는 프로그램 만들기

● 정답 코드 - 1. 계산결과 기억하기

def sum_n(n):
	s = 0
	for i in range(1, n+1):
    		s = s+i*i
	return s

 

● 정답 코드 - 2. 제곱합 공식 사용하기

def sum_n_square(n):
	return(n*(n+1)*(2n+1)/6)

 

 

뭔가 프로그래머스의 두 정수 사이의 합 문제를 풀 때 사용하면 좋을 알고리즘이라 생각합니다.

가우스의 합 공식을 사용해서 풀었는데, [계산결과 기억하기] 방식을 적용해보면 좋겠네요.

 

 

[프로그래머스 / 1단계 / 파이썬(Python3)] 두 정수 사이의 합

문제 출처 https://programmers.co.kr/learn/courses/30/lessons/12912 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하..

data-analysis-expertise.tistory.com

 

LIST