본문 바로가기

Python29

[백준/Python] 11404번 플로이드 풀이최단 경로 알고리즘 중 하나인 플로이드 워셜 알고리즘으로 풀 수 있는 문제였습니다. 플로이드 워셜 알고리즘을 이해하고 있다면, 쉽게 풀 수 있는 문제였습니다. 시작 도시와 도착 도시를 연결하는 노선은 하나가 아닐 수 있다 라는 것만 주의하시면 될 것 같습니다. import sysinput = sys.stdin.readlineINF = int(1e9)n = int(input())m = int(input())graph = [[INF] * (n + 1) for _ in range(n + 1)]for _ in range(m): a, b, c = map(int, input().split()) graph[a][b] = min(graph[a][b], c)for i in range(1, n+1): .. 2024. 8. 15.
[백준/Python] 2667번 단지번호붙이기 풀이DFS, BFS 두 방법으로 풀 수 있는 문제였습니다. 저는 DFS 로 풀어보았습니다. 아래 코드에서 특정 x,y 좌표에서 dfs 함수를 한번 거치면, graph 상의 해당 x,y 좌표를 포함하여 상하좌우로 인접한 모든 1 을 0 으로 바꿉니다. 즉, dfs 함수를 한 번 거칠 때마다 아파트 단지수인 apart_complex 변수를 1 더해줍니다. 또, 그 과정에서 0으로 바꿀 때마다 단지내 집의 수를 구해주기 위해서 apart_unit 변수에 1 을 더해주는 작업을 합니다. 끝까지 탐색을 해주면, graph 의 모든 원소는 0으로 바뀌어 있을 겁니다. 1 이면 방문 해야하며, 0 이면 방문 완료 혹은 방문 하지 않아도 됨 입니다. import sysinput = sys.stdin.readlinen .. 2024. 8. 14.
[Python] Zip 압축파일 비밀번호 뚫기 이번 글에서는 파이썬을 사용하여 브루트포스 공격을 통해 가능한 모든 비밀번호 조합을 시도해서 암호화된 ZIP 파일을 푸는 코드를 구현해보겠습니다. 1. 브루트포스 공격이란?브루트포스 공격은 가능한 모든 비밀번호 조합을 하나씩 시도하여 올바른 비밀번호를 찾아내는 방식입니다. 이 방법은 시간이 오래 걸릴 수 있지만, 확실한 방법입니다. 가능한 모든 조합을 시도하기 때문에 비밀번호가 길어질수록 시간이 많이 걸릴 수 있습니다. 아래에서 살펴 볼 코드의 경우, 최대 62개의 문자를 5자리까지 조합하기 때문에 최악의 경우 9억 번 정도의 시도를 해야 할 수 있습니다. 실제로 사용할 때는 가능한 비밀번호 길이나 문자 집합을 미리 알고 있는 경우 이 범위를 줄여서 빠르게 비밀번호를 찾아낼 수 있습니다. 2. 브루트포스.. 2024. 8. 13.
[Python] 파이썬 컴퓨터의 다양한 정보 확인하기 (psutil) 컴퓨터의 성능이나 정보를 확인할 때 'psutil' 이라는 라이브러리를 통해 확인할 수 있습니다. 이번 글에서는 'psutil' 라이브러리의 사용법에 대해 알아보겠습니다. 1. 라이브러리 설치'psutil' 라이브러리를 설치하기 위해 아래 명령어를 입력해주세요. pip install psutil 2. CPU 정보 확인cpu 개수, cpu 사용률, cpu 속도 등을 확인할 수 있습니다. import psutil# 논리적 CPU 개수logical_cpu_count = psutil.cpu_count(logical=True)print(f"논리적 CPU 개수: {logical_cpu_count}")# 물리적 CPU 개수physical_cpu_count = psutil.cpu_count(logical=False)p.. 2024. 8. 12.
[Python] QR코드 생성기 만들기 (qrcode) QR 코드는 정보를 담는 바코드의 일종입니다. 파이썬에서는 'qrcode' 라이브러리를 사용하여 간편하게 QR 코드를 생성할 수 있습니다. 이번 글에서는 파이썬으로 QR 코드를 생성하는 방법에 대해 설명하겠습니다. 1. 라이브러리 설치터미널이나 명령 프롬프트를 이용해서 아래 명령어를 입력해주세요. pip install qrcode 2. QR코드 생성 코드아래 코드는 www.naver.com의 qr코드를 생성하는 프로그램입니다. qr코드 생성기는 단순하게 문자를 qr코드로 변환하기 때문에 어떠한 문자라도 가능합니다. import qrcodeqr_data = "www.naver.com"qr_img = qrcode.make(qr_data)qr_img.save("example_qr_code.png") 3. QR.. 2024. 8. 11.
[Python] 파이썬으로 텍스트를 음성으로 변환하기 (gTTS, playsound) 안녕하세요. 이번 글에서는 파이썬을 사용해서 텍스트를 음성으로 변환하는 방법을 알아보겠습니다. 이를 위해서 'gTTS'(Google Text-to-Speech)와 'playsound'라는 두 가지 라이브러리를 사용할 것입니다. 1. 라이브러리 설치코드를 작성하기 앞서, 'gTTS'와 'playsound'를 설치해봅시다. 이 작업은 터미널이나 명령 프롬프트에서 아래 명령어를 입력하여 설치할 수 있습니다. pip install gtts playsound 만약, 설치 중 'subprocess-exited-with-error' 같은 에러가 발생한다면 아래 게시글을 통해 해결해보세요. https://aeapa.tistory.com/60/ [Python] error: subprocess-exited-with-err.. 2024. 8. 10.