Python
-
4. 팩토리얼 구하기 - 재귀 호출의 등장Python/알고리즘 연습 2024. 7. 12. 15:25
* 책: 모두의 알고리즘 with 파이썬 1부터 n까지 연속한 정수의 곱을 구하는 알고리즘을 만들어 보세요. (=팩토리얼 구하기) 1. 팩토리얼을 구하는 알고리즘 ①1부터 n까지의 합을 구하는 코드를 변형하여 만들기 가능 123456789# 구하는 방법1: 1부터 n까지의 합을 구하던 코드 변형 def fact(n): m = 1 for i in range(1, n+1): m = m * i return m fact(5) # 120cs 2. 팩토리얼을 구하는 알고리즘 ②: '재귀호출' 사용 1) 재귀호출(recursion) 이란?: 함수 안에서 자기 자신을 부르는 것 - 재귀 호출 시 반드시 끊어주는 "종료 조건"이 있어야 함 - 재귀 호출 함수..
-
3. 동명이인 찾기 ①Python/알고리즘 연습 2024. 7. 11. 15:15
* 책: 모두의 알고리즘 with 파이썬 n명의 사람 이름 중에서 같은 이름을 찾아 집합으로 만들어 돌려주는 알고리즘을 만들어보세요.n명의 이름이 들어있는 리스트에서 같은 이름이 있는지 확인같은 이름이 있을 경우 새로 만든 집합에 넣어서 return 1. 선행 개념: 집합 (set)리스트와 마찬가지로 정보를 여러개 넣어서 보관할 수 있는 파이썬 자료형단, 같은 자료가 중복되서 들어가지 않으며자료의 순서도 무관함: {1, 2} = {2, 1} ※ 자주 쓰이는 집합 기능 12345678910111213141516171819202122232425262728293031 ########### len(s): 집합 s의 길이(자료 개수) ################ s = set() # 새 집합 만들기len(s..
-
2. 최댓값 찾기Python/알고리즘 연습 2024. 7. 9. 12:11
* 책: 모두의 알고리즘 with 파이썬 주어진 숫자 n개 중 가장 큰 숫자를 찾는 알고리즘을 만들어 보세요. 1. 관련 개념: python 리스트 다루기 123456789101112131415161718192021222324252627# 리스트 개념 확인 a = [1,2,3,4,5,6,7,8,9,10]a[0] # 1a[9] # 10; n개 요소를 가진 리스트의 마지막 요소는 n-1 인덱스로 구할 수 있음a[-1] # 10a[-2] # 9a[-10] # 마이너스 인덱스 사용 시 n개 요소를 가진 리스트의 첫번째 요소는 -n 인덱스 # 리스트에서 많이 쓰이는 함수들 # len(a), a.append(x), a.clear()는 생략 # a.insert(i, x) # a 라는 리스트의 i번째에 x 요소를 ..
-
1. 1부터 n까지의 합 구하기Python/알고리즘 연습 2024. 7. 9. 11:33
* 책: 모두의 알고리즘 with 파이썬 1. 1부터 n까지의 합을 구하는 방법머릿속에 무의식 중으로 떠오르는 방법은 아래 코드의 방법 1가우스처럼 똑똑하게 천재처럼 구하려면 방법 2 123456789101112131415161718192021222324# 1부터 n까지의 합 구하기 방법1# 냅다 1부터 더하는 방법 def sum_n(n): s = 0 # 초기화 for i in range(1, n+1): s = s + i return s print(sum_n(10)) # 55 # 1부터 n까지의 합 구하기 방법2# 가우스처럼 똑똑하게 구하기 (난 안됨 ㅠ) def gaus(n): return n*(n+1)//2 gaus(10) # 55 # n*(n+1)..
-
함수2 - 함수의 종류Python 2022. 3. 7. 12:08
* 바로 쓰는 파이썬, 박진수, 서울대학교출판문화원 함수가 간단할 줄 알았는데 간단하지 않아서 당황스럽... 이번 포스트에서 다룰 내용은 함수의 종류입니다. 크게 1. 전역함수 & 지역함수, 2. 람다함수, 3. 메서드를 정리해보겠습니다. 1. 전역 함수(global function) & 지역 함수(local function) 전역 함수는 일반 함수로 생각하면 됩니다. 같은 모듈(하나의 .py 파일 내부) 안에서는 어디서든 사용 가능합니다. 다른 모듈에서 전역 함수를 사용하려면 다른 모듈/라이브러리를 import하여 사용할 수 있습니다. 또한 당연히 파이썬 자체 내장 함수(i.e. print(), len())도 전역 함수이기에 어디서든 사용 가능합니다. 1 2 3 4 5 6 7 8 9 10 def rec..
-
함수1- 함수 기초Python 2022. 2. 16. 12:57
* 바로 쓰는 파이썬, 박진수, 서울대학교출판문화원 앞선 포스트에서 파이썬 함수에는 빌트인 함수와 사용자 함수로 크게 나누어진다고 정리했었습니다. 그런데 함수에 대해 더 알고싶어 공부해보니 종류가 훨씬 많더라구요 ^^; 그래서 이번 포스트부터는 함수에 대해 더 자세하게 공부해보려 합니다. 공부한 책은 이란 책으로, 서울대학교에서 쓰이는 책이라고 합니다 wow~ 1. 함수의 기본 생김새 함수의 기본 생김새는 다음 그림과 같습니다. 매개변수와 전달인자를 가진 함수의 가장 기본적인 모양입니다. def 옆 함수 이름, 괄호 안 parameter(매개변수), 그리고 실제 함수 사용 시 함수 옆 괄호에 전달인자(argument)가 있는 것을 확인할 수 있습니다. 또한 이 함수는 함수의 결괏값을 반환해주는 'retu..
-
사용자 정의 함수(def)Python 2021. 11. 25. 00:23
*본 게시물은 21-2학기 연세대학교 일반대학원 온라인데이터수집과분석(이상엽 교수님) 수업 내용을 정리한 것입니다. 파이썬에는 2가지 함수가 존재합니다. 하나는 기본 제공 함수(built-in function)이고, 다른 하나는 사용자 정의 함수(user-defined function)입니다. 빌트인 함수는 print(), len()같이 사용자가 별도의 정의를 내리지 않고도 파이썬에서 사용할 수 있는 기본 함수를 말합니다. 사용자 함수는 기본 제공 함수로 반복 task를 수행할 수 없을 때 정의하는 함수라 할 수 있습니다. 사용자 정의 함수는 define으로 생성할 수 있습니다. ①함수 이름, ②파라미터(함수에서 사용될 변수), 실제 ③동작문(body) 그리고 return이라는 ④함수의 반환값으로 구성됩..
-
웹 스크래핑 기초: 소스코드 읽기와 태그 찾기Python/NLP용 python 2021. 10. 23. 17:52
*본 게시물은 21-2학기 연세대학교 일반대학원 온라인데이터수집과분석(이상엽 교수님) 수업 내용을 정리한 것입니다. 웹스크래핑은 흔히 '크롤링'으로 알고 있는 온라인 데이터 수집 방법입니다. 다만 스크래핑은 하나의 웹 페이지에 존재하는 정보를 가져오는 행위인 반면 크롤링은 전체 사이트를 긁어온다는 점에서 차이가 있습니다. 웹에는 굉장히 많은 데이터가 존재합니다. 웹 페이지들로 구성된 홈페이지는 서버에서 raw data인 소스코드를 받아서 사용자들에게 예쁘게 보여주는 역할을 합니다.(raw data인 소스코드는 chrome > '페이지 소스 보기'로 확인 가능합니다.) 소스코드는 다양한 language들로 작성됩니다. 특히 html이 많이 쓰입니다. html 소스코드는 특히 여러개의 태그로 구성됩니다. 가..