파이썬 44

[백준/Python] LCS

https://www.acmicpc.net/problem/9251 참고: https://osnim.tistory.com/entry/%EC%B5%9C%EC%9E%A5-%EA%B3%B5%ED%86%B5-%EB%B6%80%EB%B6%84%EC%88%98%EC%97%B4-LCSLongest-Common-Subsequence-%ED%8C%8C%EC%9D%B4%EC%8D%AC 최장 공통 부분수열, LCS(Longest Common Subsequence) (파이썬)LCS (Longest Common Subsequence)이란? 2개 이상의 문자열에서에서 공통으로 나타나는 부분 문자열 중 가장 긴 문자열을 의미합니다. LCS은 대표적으로 DNA의 공통 염기서열을 찾아 데이터를 압축하거나osnim.tistory.comD..

[파이토치] CNN 모델 학습, 평가, 추론

https://github.com/stonegyoung/Pytorch_Study/blob/master/lenet_%EA%B5%AC%ED%98%84%2BMNIST.ipynb Pytorch_Study/lenet_구현+MNIST.ipynb at master · stonegyoung/Pytorch_StudyPytorch 공부. Contribute to stonegyoung/Pytorch_Study development by creating an account on GitHub.github.com 이미지 준비전처리까지 완료된 train_loader와 test_loader를 가지고 진행합니다.2024.12.31 - [Pytorch] - [파이토치] MNIST로 이미지 데이터 처리 [파이토치] MNIST로 이미지 데..

Pytorch 2025.01.06

[백준/Python] 아기 상어

https://www.acmicpc.net/problem/16236 도움https://velog.io/@waoderboy/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B0%B1%EC%A4%80-16236-%EC%95%84%EA%B8%B0%EC%83%81%EC%96%B4-%ED%8C%8C%EC%9D%B4%EC%8D%AC [BOJ] 백준 - 16236 아기상어 (파이썬)백준 - 16236 아기상어 (파이썬)velog.io BFS를 사용한다 bfs를 이용하여 먹이를 먹으러 갈 수 있는 곳 중 최단 거리 확인 아기 상어는 자신의 크기와 같은 수의 물고기를 먹을 때 마다 크기가 1 증가한다  -> sh_shape(자신의 크기), eat(물고기 몇 개 먹었는지) 변수 사용아기 상어가 몇..

카테고리 없음 2024.12.05

[Python] 위상 정렬(Topology Sort) 알고리즘

https://m.blog.naver.com/ndb796/221236874984 25. 위상 정렬(Topology Sort)  위상 정렬(Topology Sort)은 '순서가 정해져있는 작업'을 차례로 수행해야 할 때 그 순서를 ...blog.naver.com 위상 정렬이란순서가 정해져 있는 작업들을 선행 조건에 만족하도록 정렬하는 알고리즘정점 u에서 v로 가는 간선이 있을 때 항상 u 다음에 v가 나와야 하는 경우같이 순서가 정해져 있을 때 사용할 수 있다 위상 정렬을 쓸 수 있는 경우-> 그래프가 DAG(방향 비순환 그래프)인 경우 순환이 존재하는 그래프에서는 사용할 수 없다 +그래프의 종류https://6mini.github.io/computer%20science/2021/12/02/graph/ [..

카테고리 없음 2024.11.16

[Python] 냅색(KnapSack) 알고리즘

배낭 문제라고도 불리는 냅색 알고리즘은 DP 문제 중 일부이다.주어진 물건들 중 일부를 선택하여 제한된 용량의 가방(또는 배낭)에 최대한의 가치를 담는 문제를 해결하는 알고리즘 물건을 넣을 것인가, 안넣을 것인가를 정하는 것이 문제의 핵심이다. 평범한 배낭 문제를 이용하여 원리를 알아보겠다https://www.acmicpc.net/problem/12865 일단 예제 1을 보면4 7 # 물품 수 n 과 최대 무게 k # 각 물품의 무게와 가치6 13 4 83 65 12  물품 수 n+1 (아무 물품도 넣지 않았을 때)를 행으로무게 k+1 (무게가 0일 때)를 열로 한2차원 표를 만든다2차원 표 안에는 가치가 들어간다.각 행의 물건을 넣었을 때, 넣지 않았을 때의 가치를 비교해서 더 큰 값을 넣어준다 안넣는..

카테고리 없음 2024.10.31

[백준/Python] 동물원

https://www.acmicpc.net/problem/1309 DP를 사용 맨 위의 두 칸을 세 가지 경우로 나눈다- 공백: 두 칸에 아무도 없음- 좌: 왼쪽 칸에 사자 있음- 우: 오른쪽 칸에 사자 있음 만약 n이 1이라면위처럼 세 가지 경우가 있습니다  n이 2인 경우를 보겠습니다 그런데 아래 칸(파란색)의 경우의 수는n=1일 때의 경우의 수와 같습니다  즉 맨 위의 두 칸이 공백이면 n-1의 모든 경우의 수가 올 수 있고,왼쪽만 있으면 n-1의 경우의 수 중 공백과 오른쪽이 채워져 있는 경우가 올 수 있고,오른쪽만 있으면 n-1의 경우의 수 중 공백과 왼쪽이 채워져 있는 경우가 올 수 있습니다. dp 점화식으로 풀게 된다면# 0번 째는 공백(사자 없음), 1번 째는 왼쪽에 사자, 2번 째는 오른..

[Python] 음수 간선 벨만 포드 알고리즘

https://www.youtube.com/watch?v=Ppimbaxm8d8&list=LL&index=36 벨만 포드 음의 간선이 있는 경우음수 간선 순환이 생기는 지도 알 수 있다시간 복잡도 O(VE)(다익스트라는 O(ElogV)) 벨만 포드 알고리즘1. 출발 노드 설정2. 최단 거리 테이블 무한으로 초기화3. 전체 간선을 돌면서 최단 거리 테이블 갱신3번을 노드 -1 만큼 반복 음수 간선 순환이 발생하는 지 확인하는 방법3을 한 번 더 반복해서 최단 거리 테이블이 또 갱신되면 음수 간선 순환이 발생(즉 3을 노드만큼 반복하면 된다) n: 노드 수m: 간선 수distance: 최단 거리 테이블edges: 간선 정보 벨만 포드 함수def bf(start, distance): distance[sta..

카테고리 없음 2024.10.26

[백준/Python] 특정한 최단 경로

https://www.acmicpc.net/problem/1504 방법은노드 1 -> 노드 v1 -> 노드 v2 -> 노드 n노드 1 -> 노드 v2 -> 노드 v1 -> 노드 n두 가지 중 최소 경로를 구하고, 만약 INF 보다 크거나 같다면 -1을 출력하면 되는 문제였습니다.  일단 이 문제를 플로이드 워셜로 푸려고 했습니다(이유는.. 800 ** 3을 1억번보다 더 적게 나온다고 잘못 계산해서..)import sysinput = sys.stdin.readlineINF = int(1e9)n, e = map(int, input().split())graph = [[INF]*(n+1) for _ in range(n+1)]for i in range(1, n+1): graph[i][i] = 0 fo..

[Python/백준] 운동

https://www.acmicpc.net/problem/1956 저는 노드가 400개이기 때문에400 ^ 3이 1억번보다 적어 플로이드 워셜 알고리즘을 사용해야겠다고 생각했습니다 import sysinput = sys.stdin.readlineINF = int(1e9)v, e = map(int, input().split())graph = [[INF]*(v+1) for _ in range(v+1)]for i in range(1, v+1): graph[i][i] = 0 for _ in range(e): a, b, c = map(int, input().split()) graph[a][b] = c # 단방향 for k in range(1, v+1): for i in range(..

[FastAPI] 데이터 받기

2024.09.24 - [분류 전체보기] - [FastAPI] 파이썬으로 서버 만들기 [FastAPI] 파이썬으로 서버 만들기파이썬으로 서버를 만들기 위한 프레임 워크1. Flask2. Django 3. FastAPI 이 중 쉽고 빠른 FastAPI로 서버를 만들어 보겠습니다.FastAPI 장점: 비동기 지원동기: 클라이언트 요청이 오면 하나를 처리하고dogfoot1.tistory.com 데이터 받기1. 주소 뒤에 데이터 넣어 보낼 때2. Body를 이용해서 데이터 보낼 때- form으로- json으로  주소 뒤에 데이터 넣어 보낼 때  @app.get("/login/{user_id}") def login(user_id): return {"id": user_id}주소 뒤에 {변수명}을 쓰고함수에 ..

카테고리 없음 2024.09.25