본문 바로가기

개발/Python5

[자료구조] A* 알고리즘 안녕하세요! A* 알고리즘은 경로 탐색 문제에서 사용되는 효율적인 길찾기 알고리즘 중 하나입니다. A* 알고리즘은 최적의 경로를 찾는 데 사용되며, 주로 게임 개발, 로봇 공학, 지리 정보 시스템 (GIS), 미로 생성 및 다양한 경로 탐색 문제에서 활용됩니다. 아래에서 A* 알고리즘의 핵심 아이디어와 작동 방식을 설명해드리겠습니다. A* 알고리즘의 핵심 아이디어 A* 알고리즘은 최단 경로를 찾는 데 사용되며, 경로를 찾는 과정에서 현재 위치에서 목표 위치까지의 예상 비용을 고려합니다. 이를 위해 다음 두 가지 값을 추적합니다. 1. g(n) : 시작 노드에서 현재 노드 n 까지의 실제 이동 비용. 즉, 시작점에서 n 까지 얼마나 많은 비용이 들었는지를 나타냅니다. 2. h(n) : 현재 노드 n 에서 .. 2024. 1. 30.
[python] Lambda 함수: 간결한 함수 정의와 활용 lambda란? lambda 함수는 간결한 함수 정의와 활용에 유용한 기능 중 하나입니다. 이 글에서는 lambda 함수가 무엇이고 어떻게 활용할 수 있는지 자세히 알아보겠습니다. 목차 1. lambda 함수란 무엇인가요? - lambda 함수의 정의 - lambda 함수와 일반 함수의 차이점 2. lambda 함수의 기본 문법 - lambda 함수의 형태 - 인자와 반환값 3. lambda 함수의 활용 예시 - 간단한 수학 연산 - map()과 filter()와 함께 사용하기 - 정렬 기준 지정에 활용하기 4. lambda 함수의 장점과 한계 - 간결성과 가독성 - 복잡한 로직에는 어울리지 않을 때 5. 실제 예시와 함께 알아보기 - 리스트 조작 예시 - 정렬 및 필터링 예시 - 데이터 처리 예시 1... 2024. 1. 21.
[Python] 구글 뉴스 크롤링하기 오늘은 원하는 키워드를 구글 뉴스에서 크롤링하는 파이썬 코드를 작성해보려고 합니다. https://news.google.com/home?hl=ko&gl=KR&ceid=KR:ko https://news.google.com/home?ceid=KR%3Ako&gl=KR&hl=ko news.google.com url을 자세히 살펴보겠습니다. 구글 뉴스에서 특정 키워드를 검색하면 url이 어떤 형태로 변경되는지 살펴보겠습니다. https://news.google.com/search?q=네이버&hl=ko&gl=KR&ceid=KR%3Ako 검색창에서 "네이버" 라고 검색했는데 url에 변화가 생겼습니다. q=네이버 이라는 텍스트가 추가되었는데 여기서 q는 query의 약자입니다. 원하는 검색어를 url에 q={키워드}.. 2024. 1. 4.
[Python] 윈도우 venv 가상환경 설치하기 1. windows 명령 프롬프트에 들어갑니다. 2. 만들고자 하는 파일로 이동합니다. (C드라이브에 project폴더 안에 venv 가성환경을 만들어 보겠습니다.) 형식: C:\project> python -m venv 내가 만들고 싶은 가상환경폴더 이름 저는 가상환경폴더 이름을 pratice로 하겠습니다. C:\project> python -m venv pratice 3. 생성된 가상환경 폴더 pratice에 들어갑니다. 만드신 가상환경 폴더에 Script라는 폴더가 생성되었을 겁니다. 그 곳에서 가상환경을 활성화 시킬 수 있습니다. C:\project\pratice> Scripts\activate.bat 안되면 C:\project\pratice> Scripts\activate 그래도 안되면 C:\p.. 2023. 1. 25.
[Python] venv 가상환경 설정이 필요한 이유는? 우리는 프로그램을 짜고 배포합니다. 아나콘다(anaconda3)을 우리가 설치하고 사용한다고 했을 때 수많은 라이브러리 패키지들이 포함되어 있는 상태로 설치되어진다. 만약에 포함되어진 라이브러리가 없다면 추가로 설치해서 사용하면 프로그램은 잘 돌아갑니다. 그런데 문제는 배포하면서 발생합니다. 우리가 프로그램을 짜면서 설치했던 수많은 패키지들은 배포하려는 서버에는 전혀 깔려있지 않으며... 설령 무슨 패키지를 설치했는지 하나 하나 이름을 기록했다 하더라도 버전을 몰라서 설치했다 하더라도 버전이 달라서 프로그램이 작동하지 않을 수 있습니다. 그리고 시간이 지나면서 패키지들이 업데이트되는데, 하나 하나 업데이트하다 보면 서로 의존적인 패키지들 사이에 버전이 맞지 않아 호환이 되지 않는 경우들도 생길 수 있습니.. 2023. 1. 25.