Python 42

공공데이터 포털 에서 원하는 서비스 API 신청하기 #4

공공데이터 포털에서는 다양한 공공 API를 무료로 제공하고 있다.이번 글에서는 공공데이터 포털에서 원하는 API를 검색하고 신청하는 과정을 소개한다. 1. 공공데이터 포털 회원가입 및 로그인 API를 사용하려면 먼저 공공데이터 포털 회원가입이 필요하다.아래 사이트에서 회원가입을 진행한다. 🔗 공공데이터 포털: https://www.data.go.kr/ 공공데이터 포털국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datasewww.data.go.kr  공공데이터 포털은 정부 및 공공기관이 보유한 데이터를 개방하여,국민 누구나 쉽게 데이터를 검색하고 활용할 수 있도록 지원..

django app 생성하고 소스에 git 설치하기 #2

Django에서는 프로젝트를 여러 개의 **앱(App)**으로 구성하여 개발할 수 있다.또한, Git을 이용해 프로젝트의 소스 코드를 효율적으로 관리할 수 있다. 이번 글에서는 Django 앱을 생성하는 방법과 Git을 설정하는 과정을 다뤄본다. 1. Django 앱(App) 생성 Django 프로젝트는 여러 개의 **앱(App)**으로 구성된다.**앱(App)**은 특정한 기능을 수행하는 웹 애플리케이션 단위라고 볼 수 있다. 📌 이전 단계이전에 Django 프로젝트(pubdapi)를 생성했으므로,해당 폴더로 이동하여 앱을 생성한다.cd pubdapi # 프로젝트 폴더로 이동ls # 현재 폴더 구조 확인 예제 실행 결과:(pubd_api) pubdapi % lsdb.sqlite3 m..

API Server django python Framework 설치 #1

Django는 Python 기반의 웹 프레임워크로, 강력한 기능과 간결한 코드로 웹 애플리케이션을 빠르게 개발할 수 있다.이번 글에서는 Django를 활용한 API 서버 구축 과정을 단계별로 정리해본다. 📌 사용할 API • 공공데이터 포털에서 제공하는 국회도서관 자료검색 서비스 API 📌 작업 환경작업 폴더명: public_data가상환경명: pubd_api프로젝트명: pubdapiOS: macOS Sonoma v14.51. Python & Django 설치하기 Django를 설치하기 위해서는 먼저 Python이 필요하다.Django 공식 문서를 참고하면 보다 자세한 내용을 확인할 수 있다. 🔗 Django 공식 문서: Django Documentation (한글) 📌 Python 설치 Pyth..

[파이썬] 백준 24052 알고리즘 수업 삽입 정렬 2

이번 글에서는 삽입 정렬(Insertion Sort) 알고리즘을 학습하고,이를 활용하여 백준 24052번 문제를 Python으로 해결해본다. 🚀 1. 삽입 정렬 (Insertion Sort) 란? 삽입 정렬은 배열을 앞에서부터 차례대로 정렬된 부분과 비교하며 자신의 위치를 찾아 삽입하는 정렬 알고리즘이다. 🔹 정렬 과정:배열의 두 번째 요소부터 시작하여 왼쪽의 정렬된 부분과 비교적절한 위치를 찾아 삽입모든 요소가 정렬될 때까지 반복 🔹 시간 복잡도:최선 (O(n)): 이미 정렬된 배열일 경우최악 (O(n²)): 역순 정렬된 배열일 경우2. 백준 24052번 문제 설명 🔗 문제 링크: 백준 24052번 - 알고리즘 수업: 삽입 정렬 2📌 문제 요구사항N: 배열 A의 크기 (5 ≤ N ≤ 10,00..

[파이썬] 백준 24051 알고리즘 수업 삽입 정렬 1

이번 글에서는 삽입 정렬(Insertion Sort) 알고리즘을 배우고,이를 활용하여 백준 24051번 문제를 Python으로 해결해본다. 🚀 1. 삽입 정렬(Insertion Sort) 이란? 삽입 정렬은 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 부분과 비교하여 자신의 위치를 찾아 삽입하는 정렬 알고리즘이다. 🔹 삽입 정렬의 특징 • 선택 정렬(Selection Sort), **버블 정렬(Bubble Sort)**보다 빠르고 안정적인 정렬 알고리즘 • 최선의 경우 O(n), 최악의 경우 O(n²) • 데이터가 거의 정렬되어 있을 경우 매우 효율적 🔹 삽입 정렬 과정예제 배열: [4, 5, 1, 3, 2] 1️⃣ 1을 정렬된 부분과 비교하여 삽입[4, 5, 1, 3, 2] → 1을 0..

[파이썬] 백준 23969 알고리즘 수업 버블 정렬 2

이번 글에서는 버블 정렬(Bubble Sort) 알고리즘을 학습하고,이를 활용하여 백준 23969번 문제를 Python으로 해결하는 방법을 살펴본다. 🚀 1. 버블 정렬(Bubble Sort) 이란? 버블 정렬은 서로 인접한 두 개의 값을 비교하여 정렬하는 알고리즘이다.큰 값이 오른쪽으로 이동하며 거품(Bubble)처럼 밀려나는 과정에서 이름이 유래되었다. 🔹 버블 정렬의 특징시간 복잡도: 최선 O(n), 평균·최악 O(n²)장점: 구현이 단순단점: 효율이 낮아 큰 데이터 정렬에는 적합하지 않음🔹 버블 정렬 과정예제 배열: [7, 2, 0, 1, 5, 6, 4] 1️⃣ 첫 번째 패스 (가장 큰 값이 끝으로 이동)[7, 2, 0, 1, 5, 6, 4] → 7과 2 비교 → swap[2, 7, 0,..

[파이썬] 백준 23968 알고리즘 수업 버블 정렬 1

이번 글에서는 버블 정렬(Bubble Sort) 알고리즘을 학습하고,이를 활용하여 백준 23968번 문제를 Python으로 해결하는 방법을 살펴본다. 🚀 1. 버블 정렬(Bubble Sort)이란? 📌 개념 버블 정렬은 서로 인접한 두 개의 값을 비교하여 정렬하는 방식이다.정렬이 완료될 때까지 이 과정을 반복하여 배열을 정렬한다. 🔹 버블 정렬의 특징시간 복잡도: 최선 O(n), 평균·최악 O(n²)장점: 코드가 단순하여 구현이 쉬움단점: 성능이 낮아 큰 데이터 정렬에는 부적합🔹 정렬 방식오름차순 정렬: a > b → swap(교환)내림차순 정렬: a 2. 버블 정렬 예제 (오름차순 정렬) 다음과 같은 리스트가 있다고 가정해본다.A = [4, 6, 5, 1, 3, 2] 이 리스트를 버블 정렬하면 ..

[파이썬] 백준 23899 알고리즘 수업 선택 정렬 5

✅ 백준 문제 링크: 백준 23899번 - 선택 정렬 51. 선택 정렬(Selection Sort) 알고리즘 선택 정렬은 리스트에서 최대값을 찾아 맨 뒤로 보내는 방식으로 정렬하는 알고리즘이다. ✔ 선택 정렬 과정주어진 리스트에서 최대값을 찾는다.해당 값을 맨 뒤에 위치한 값과 교환(swap)한다.위 과정을 반복하여 리스트를 정렬한다.다음은 예제 배열 [3, 1, 2, 5, 4]을 선택 정렬로 정렬하는 과정이다.[3, 1, 2, 5, 4] → 최대값 5, 4번 인덱스와 swap [3, 1, 2, 4, 5] → 최대값 4, 3번 인덱스에 있으므로 pass [3, 1, 2, 4, 5] → 최대값 3, 2번 인덱스와 swap [2, 1, 3, 4, 5] → 최대값 2, 1번 인덱스와 swap [1, 2..

[파이썬] 백준 23881 알고리즘 수업 선택 정렬1

이번 글에서는 선택 정렬(Selection Sort) 알고리즘을 학습하고,이를 활용하여 백준 23881번 문제를 Python으로 해결해 본다. 🚀 1. 선택 정렬(Selection Sort)이란? 📌 개념 선택 정렬은 배열에서 최소값(또는 최대값)을 찾아 정렬하는 방식이다.정렬이 완료될 때까지 이 과정을 반복하여 배열을 정렬한다. 🔹 선택 정렬의 특징 • 시간 복잡도: O(n²) • 장점: 코드가 단순하여 구현이 쉬움 • 단점: 성능이 낮아 큰 데이터 정렬에는 부적합 🔹 정렬 방식 • 오름차순 정렬: 최소값을 찾아 맨 앞과 교환 • 내림차순 정렬: 최대값을 찾아 맨 뒤와 교환 2. 선택 정렬 예제 (오름차순 정렬) 다음과 같은 리스트가 있다고 보자.A = [3, 1, 2, 5, 4] 이 리스트를 ..

[파이썬] 백준 6603 로또 (조합 combinations)

✅ 백준 문제 링크: 백준 6603번 - 로또1. 문제 설명 독일의 로또는 6개의 숫자를 선택하는 방식이다.주어진 K개의 숫자 중에서 6개를 고르는 모든 조합을 출력하는 문제이다.입력의 마지막 줄에는 0이 주어지며, 이를 입력의 종료 조건으로 사용한다.각 테스트 케이스는 사전순(오름차순)으로 출력해야 한다.2. 조합(Combination)이란? 조합이란, 주어진 n개의 원소 중에서 r개를 선택하는 경우의 수를 의미한다.순서가 중요하지 않으며, 파이썬에서는 itertools.combinations() 함수를 사용하면 쉽게 구현할 수 있다. 📌 조합 예제from itertools import combinationsnumbers = [1, 2, 3, 4]combi = list(combinations(numb..