본문 바로가기

오블완5

[Python] itertools 라이브러리 사용법 (조합, 순열, 데카르트 곱) Python의 'itertools' 라이브러리는 간단하게 조합, 순열, 데카르트 곱을 구할 수 있는 라이브러리입니다. 이번 포스팅에서는 itertools의 각 함수가 어떻게 동작하는지 살펴보고, 활용 예제를 통해 이해해보겠습니다.📌 순열(permutations) 순열은 주어진 리스트에서 요소들의 가능한 모든 순서를 계산합니다. 코드from itertools import permutationsdata = ['A', 'B', 'C']result = list(permutations(data, 2)) # 2개씩 순서 있게 뽑기print(result)결과[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]📌 조합(combinatio.. 2024. 11. 13.
[Algorithm] 다익스트라(Dijkstra) 알고리즘 그래프에서 최단 경로를 구하는 문제를 본적이 있으신가요?일반적으로 최단 경로는 아래 내용을 의미합니다. 간선의 가중치가 있는 그래프에서 두 정점 사이의 경로들 중에 간선의 가중치의 합이 최소인 경로  이러한 최단 경로를 구하는 알고리즘은 여러가지가 있는데요,이번 포스트에서는 최단 경로 알고리즘 중 하나인 "다익스트라(Dijkstra)" 알고리즘에 대해 알아보도록 하겠습니다!다익스트라 알고리즘이란?다익스트라 알고리즘은 하나의 출발 노드에서 다른 모든 노드까지의 최단 거리를 찾는 알고리즘입니다. 이 알고리즘은 보통 우선순위 큐를 사용해 구현하며, 가중치가 양수인 그래프에서 효과적으로 사용됩니다. 핵심은, 한 번의 실행으로 하나의 출발지로부터 모든 목적지까지의 최단 경로를 구할 수 있다는 것입니다. 동작 방식.. 2024. 11. 12.
[Programmers / MySQL] 진료과별 총 예약 횟수 출력하기 (Level 2) 📌 문제문제 설명다음은 종합병원의 진료 예약정보를 담은 APPOINTMENT 테이블 입니다. APPOINTMENT 테이블은 다음과 같며 APNT_YMD, APNT_NO, PT_NO, MCDP_CD, MDDR_ID, APNT_CNCL_YN,APNT_CNCL_YMD는 각각 진료예약일시, 진료예약번호, 환자번호, 진료과코드, 의사ID, 예약취소여부, 예약취소날짜를 나타냅니다. 문제APPOINTMENT 테이블에서 2022년 5월에 예약한 환자 수를 진료과코드 별로 조회하는 SQL문을 작성해주세요. 이때, 컬럼명은 '진료과 코드', '5월예약건수'로 지정해주시고 결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬하고, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬해주세요. 예시APPOINT.. 2024. 11. 11.
[Data Structure] Python의 주요 자료형과 시간 복잡도 정리 파이썬에서 각 자료형의 동작 속도는 내부 구조가 어떻게 되어 있는지, 어떤 작업을 수행할 것인지에 따라 달라집니다.따라서 각 자료형의 시간 복잡도를 이해하면 상황에 따라 최적의 자료형을 선택하는데 도움이 되겠죠! 이번 포스팅에서는 파이썬의 주요 자료형과 그 시간 복잡도를 살펴보겠습니다.리스트(List)★ 주요 특징 : 가변성(Mutable)이 있어 요소 추가/삭제 가능접근 : O(1) 특정 인덱스에 접근하는 데 상수 시간이 걸립니다.삽입 : O(n) (중간에 삽입할 경우), O(1) (끝에 추가할 경우) 리스트 중간에 값을 삽입하면 그 뒤의 요소들을 이동시켜야 합니다.삭제 : O(n) (중간에 삭제할 경우), O(1) (끝에 삭제할 경우) 끝에서 요소를 삭제할 때는 빠르지만 중간에서 삭제하면 삽입과 마찬.. 2024. 11. 10.
[Django] Locust를 활용한 부하 테스트(Load Testing) 이번 포스팅에서는 Locust를 활용하여 Django 프로젝트에 대해 부하 테스트를 하는 방법에 대해 소개해보려 합니다!부하 테스트(Load Testing)란?한 마디로, 부하 테스트란 아래 질문에 대한 테스트입니다.시스템에 임계점의 부하가 계속될 때 문제가 없는가? 목적 : 시스템의 신뢰도와 성능을 측정Locust란?Locust는 오픈 소스 부하 테스트 도구로, 파이썬 언어로 테스트 시나리오를 간편하게 작성할 수 있습니다.쉽게 말해, 내가 만든 서버에 수많은 사용자들이 동시에 들어올 때 어떤 일이 벌어지는지를 확인하는 도구입니다! 구체적인 내용은 아래 공식 문서를 참고해주세요~!https://locust.io/ Locust.ioAn open source load testing tool. Define u.. 2024. 11. 8.