과제 : 1부터 n까지 연속한 정수의 합을 구하는 알고리즘을 만들기
1. 알고리즘의 중요 포인트
- 문제 : '1부터 n까지 연속한 숫자 합'
- 입력 : 'n까지'에 해당하는 n (n만 입력하면 1부터 n까지 연속한 숫자 합을 한번에 구함)
- 출력 : '1'부터 입력 'n'까지의 합
2. 구체적이고 명료한 계산 과정
1부터 10까지의 합을 예를 들어보자.
- 1더하기 2를 계산한 결과인 3을 머릿속에 기억
- 기억해 둔 3에 다음 숫자 3을 더해 6을 기억
- 기억해 둔 6에 다음 숫자 4를 더해 10을 기억
- 기억해 둔 10에 다음 숫자 5를 더해 15를 기억
- 같은 과정 반복...
- 기억해 둔 45에 다음 숫자인 10을 더해 55를 기억
- 10까지 다 더했으므로 마지막에 기억된 55를 제시
3. 1부터 n까지의 합을 구하는 알고리즘
이제 1부터 n까지의 합을 구하는 문제를 푸는 알고리즘을 적어 보고, 이 알고리즘을 다음어 파이썬 프로그램으로 만들어 보자.
1부터 n까지 연속한 숫자의 합을 구하는 문제를 풀기 위한 알고리즘을 최대한 구체적으로 적으면 아래와 같다.
- 합을 기록할 변수 s를 만들고 0을 저장
- 변수 i를 만들어 1부터 n까지의 숫자를 1씩 증가시키며 반복
- [반복 블록] 기존의 s에 i를 더하여 얻은 값을 다시 s에 저장
- 반복이 끝났을 때 s에 저장된 값이 결과이다.
알고리즘을 하나의 함수로 만들어 입력은 인자로 전달하고, 출력은 함수의 결과값(return)으로 만들면, 알고리즘이 "입력 → 알고리즘 → 출력"을 수행하는 과정이라는 것을 더 직관적으로 이해할 수 있다.
4. 알고리즘 분석
5. 입력 크기와 계산 횟수
6. 대문자 O 표기법 : 계산 복잡도 표현
'모두의 알고리즘 with 파이썬' 카테고리의 다른 글
05. 최대공약수 구하기 (0) | 2020.03.06 |
---|
댓글