일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 팩토리얼 구하기
- 문서 내 이동
- 파이썬 알고리즘
- python algorithm
- 마이스누 스크랩
- 재귀함수
- 알고리즘 공부
- 알고리즘 기초
- 파이썬 독학
- html 기본문법
- python 알고리즘
- 공지사항 스마트하게 관리
- 모두의 알고리즘 with 파이썬
- 서울대 공지사항
- 피어튜터링
- 데카르트곱
- 서울대 교내 프로그램
- 교내 튜터링
- Algorithm 학습
- 마이스누 공지
- 직접곱
- Notion 대학생
- 대학생 과제 Tip
- 대학교 공지 관리
- 프로그래밍 독학
- Word 북마크
- html 독학
- 서울대 피어튜터링
- 한글 북마크
- 서울대 튜터링
- Today
- Total
목록프로그래밍 언어/Python 알고리즘 (6)
농경제학도의 지식창고

본문은 (길벗, 2017)을 학습하고 개인 학습용으로 정리한 내용입니다. 안녕하세요, 오늘은 Python으로 '최대공약수 구하기' 알고리즘 구현법에 대해 포스팅합니다. 2가지 방법을 소개하겠습니다. 1. 순수히 반복문, 조건문 활용 2. 재귀함수 이용 (유클리드 알고리즘) #1. 순수한 반복문, 조건문 활용 최대공약수 알고리즘에 대해 생각해보면 다음과 같습니다. 1. 두 수 중 더 작은 값을 i에 저장한다. 2. i가 두 수의 공통된 약수인지 확인한다. 3. 공통된 약수이면 이 값을 결과값으로 돌려주고 종료한다. 4. 공통된 약수가 아니면 i를 1만큼 감소시키고 2번으로 돌아가 반복한다. * (1은 모든 정수의 약수이므로 i가 1이 되면 1을 결괏값으로 돌려주고 종료한다.) def gcd(a, b): i..

본문은 (길벗, 2017)을 학습하고 개인 학습용으로 정리한 내용입니다. 안녕하세요, 오늘은 Python으로 '팩토리얼' 알고리즘 구현하는 법에 대해 알아보겠습니다. 팩토리얼은 숫자 뒤에 느낌표(!)를 붙여 표기하며 1부터 n까지 연속한 숫자를 차례로 곱한 값을 말합니다. '계승'이라고도 합니다. 크게 2가지 방법으로 '팩토리얼' 알고리즘을 구현해보겠습니다. 1. 반복문을 이용해서 작성하는 법 2. 재귀함수를 이용해서 작성하는 법 #1. 반복문을 이용 def sum_multiply(n): sum_m = 1 for i in range(1, n + 1): sum_m = sum_m * i return sum_m 0. sum_multipy라는 함수 선언, 함수의 인자로 n을 받음 1. 팩토리얼 결과를 담을 변수..

본문은 (길벗, 2017)을 학습하고 개인 학습용으로 정리한 내용입니다. 안녕하세요, 오늘은 Python '동명이인 찾기1' 알고리즘에 대해 알아보겠습니다 #0. 리스트에 있는 값을 차례대로 비교하기 1. list의 0 번째 아이템을 뒤의 항목들(1, 2, 3...항목들)과 비교합니다 2. 만약에 겹치는 항목이 있으면 첫 번째 아이템은 동명이인입니다 (빈 집합에 추가) 3. 첫 번째 아이템을 뒤의 항목들(2, 3, 4...항목들)과 비교합니다 (이와 같은 과정을 list의 n-2번째 항목까지 반복합니다) 위의 내용을 함수(find_same_person)로 구현하면 아래와 같습니다 def find_same_person(a): n = len(a) result = set() # 빈 집합 생성 for i in ..

본문은 (길벗, 2017)을 학습하고 개인 학습용으로 정리한 내용입니다. 안녕하세요, 오늘은 Python '최댓값 구하기' 알고리즘에 대해 알아보겠습니다 #0. 리스트의 값을 순서대로 비교하기 더보기 0. 여러 숫자가 들어있는 리스트 인자를 'a' 매개변수로 받습니다 1. len() 함수를 사용하여 '리스트 항목의 개수'를 'n' 변수에 저장합니다 2. 'max_num'(최댓값을 가리키는 변수)의 초기값으로 리스트의 첫번째 값을 저장합니다. (중요!) 3. for문, range 함수를 활용해 매개변수(리스트)의 1~n-1번째 까지의 값을 차례대로 'max_num'과 비교합니다 4. 만약에 해당 값이 기존의 최댓값 'max_num'보다 크다면 해당 값을 'max_num'에 저장해 최댓값을 업데이트 합니다 ..

본문은 (길벗, 2017)을 학습하고 개인 학습용으로 정리한 내용입니다. 안녕하세요, 오늘은 Python '1부터 n까지의 합 구하기' 알고리즘에 대해 알아보겠습니다. '1부터 n까지의 합' 구하기 알고리즘을 구현하는 방법은 크게 2가지가 있습니다. 1. 1부터 n까지 오름차순으로 정직하게 하나씩 더해나가는 방식 ex. 1+2=3, 3+3=6, 6+4=10... 2. 등차수열의 합 공식 활용 (세계 3대 수학자 가우스가 초등학교 때 고안한 방식으로 널리 알려져 있죠) 본문에서는 1, 2를 실제 Python 코드로 구현해보겠습니다 #1. 하나씩 더해나가는 방식 0. 사용자가 입력한 인수를 'n'이라는 매개 변수로 받습니다 1. 함수 내에서 1~n까지의 합을 저장할 지역변수 'sum_n'의 값을 초기값 '0..

본문은 (길벗, 2017)을 학습하고 개인 학습용으로 정리한 내용입니다. 안녕하세요, 오늘은 Python '절댓값 구하기' 알고리즘에 대해 알아보겠습니다. 절댓값은 '수직선 위의 원점에서 어떤 점까지의 거리'를 의미하는데요, 예를 들어 '-5'의 절댓값은 '5'입니다. 이러한 절댓값 구하기 원리를 알고리즘으로 구현하는 방법에는 크게 2가지가 있습니다. 1. 입력받은 값의 부호를 판단 → 양수이면 그대로 출력, 음수이면 부호의 반대로 출력 2. 입력받은 값을 제곱 → 제곱 값의 제곱근을 출력 본문에서는 1, 2를 실제 Python 코드로 구현해보겠습니다 #1. 부호판단 활용 0. 사용자가 입력한 인수를 'a'라는 매개변수로 받은 후 1. 'a의 부호'를 판단해 0보다 크거나 같으면 'a'를 반환하고 0보다..