MySQL MySQL은 가장 많이 사용되는 데이터베이스 중 하나이며, 무료이기에 간단히 설치해 바로 사용할 수 있다. 윈도우와 리눅스 등 다양한 운영체제에서 사용 가능해 확장성이 뛰어나고, 표준 SQL 형식을 사용해 쉽게 활용할 수 있다.1) MySQL Installer 다운로드하기아래 웹 페이지로 이동하여 MySQL Product Archives에서 MySQL Installer를 다운로드한다. MySQL :: Download MySQL Installer (Archived Versions)Please note that these are old versions. New releases will have recent bug fixes and features! To download the latest rele..
FastAPIFastAPI란 빠르고 간단한 python 기반의 웹 프레임워크이다.비동기 방식을 사용하기 때문에 Uvicorn이나 Hypercorn의 ASGI Server가 필요하다.예제에서는 Uvicorn을 사용하려 한다. 1) FastAPI 및 Uvicorn 설치pip install fastapipip install "uvicorn[standard]" 2) main.py 예제 파일 생성하기from typing import Unionfrom fastapi import FastAPIapp = FastAPI()@app.get("/")def read_root(): return {"Hello": "World"}@app.get("/items/{item_id}")def read_item(item_id: int..
문제 n개의 보석의 무게(m)와 가격(v) 정보가 주어지고, m개의 가방이 최대 담을 수 있는 무게(c) 정보가 주어졌을 때, 가질 수 있는 보석의 최대 가격을 구하는 문제이다. 이때 한 개의 가방에는 한 개의 보석만 넣을 수 있다. 풀이 우선순위 큐를 사용하여 문제를 풀 수 있다. 보석과 가방의 무게를 비교하고 담을 수 있는 보석이라면 가장 큰 가격의 보석을 담도록 하는 것이다. 먼저 보석의 정보를 얻을 때, 같은 무게를 가진 보석이 다수 존재할 수 있음으로 딕셔너리 자료구조에 담는다. 딕셔너리로 관리하는 것이 메모리가 조금 늘지만 더 빠른 속도를 보여준다. 한 개의 가방에는 한 개의 보석만 들어가기 때문에 보석의 최대 무개(1000000)와 비교해서 넘어가는 것은 최대 무게로 대체한다. 보석의 무게가..
Pretrained 된 딥러닝 모델을 좀 더 학습시키고 싶을 때, 코드에 손대지 않고 내가 갖고 있는 데이터를 알맞게 수정해야 하기도 한다. 최근에는 tsv 데이터셋으로 학습된 모델을 Finetuning 하게 되어 갖고 있던 데이터셋을 변환해야 했다. 1. TSV 파일 tsv 는 Tab-Separated-Values 의 약자로 tab을 통해 구분되어 있는 파일이다. tsv 파일은 결국 콤마(Comma)로 구분되어 있는 csv 파일과 유사하다. 다만 구분자(delimiter)가 tab으로 이루어져 있다는 차이가 있을 뿐이다. 2. TSV 파일 읽고 쓰기 구분자의 차이만 있기 때문에 pandas를 통해 csv 파일을 읽고 쓰는 것과 같은 방법으로 tsv를 읽고 쓸 수 있다. import pandas as p..
문제 오늘 날짜가 주어지고, 약관에 따라 개인정보의 유효기간이 지나 파기해야 하는 개인정보의 번호를 리스트로 출력하는 문제이다. 풀이 약관에 따라 유효기간이 다르고 개인정보가 수집된 날짜가 다르기 때문에 만료 기간을 계산하여 오늘 날짜와 비교하면 된다. 먼저 약관의 정보는 빠른 속도로 불러오기 쉽도록 dictionary에 담는다. 날짜를 일수로 변환하는 to_days 함수를 통해 날짜를 비교한다. (주의) 개인정보 수집 날짜와 약관 유효기관을 더한 일수에 1을 빼어야 유효기간 만료일이다. Python 코드 # 날짜를 일수로 변환 def to_days(date): y, m, d = map(int, date.split(".")) return y*12*28 + m*28 + d def solution(today..
문제 NxM 크기의 격자 미로 안에서 출발지 (x, y)에서 도착지 (r, c)로 가는 경로를 알파벳으로 표기했을 때, 사전 순으로 가장 빠른 경로를 찾는 문제이다. 미로를 탈출하는 데에는 조건이 있다. 격자 밖으로 나갈 수 없음 출발지에서 도착지까지의 총 이동거리는 k여야 함. (이동거리 == 이동 횟수 == 경로 문자열 길이) 출발지와 도착지를 포함하여 두 번 이상 방문 가능 경로 문자열이 사전 순으로 가장 빠른 경로로 탈출해야 함 경로를 문자열로 바꿀 때는 다음과 같이 바꿀 수 있다. l : 왼쪽 이동 r: 오른쪽 이동 u: 위쪽 이동 d: 아래쪽 이동 풀이 깊이 우선 탐색(DFS) 알고리즘을 활용하여 경로를 찾을 수 있다. DFS 알고리즘은 LIFO(Last In First Out)의 특징을 갖고..
오늘도 +1 -1 유형에서 틀렸다. 이 유형에서 틀린 것은 이번이 두번째인데, 조건이 조금 복잡하게 들어가면 이렇게 헤매는 것 같다. 같은 유형을 다양한 형태로 만나는 것도 필요한 과정이란 생각이 든다. 오늘 고른 문제는 코드트리의 학습하기 과정에서 알고리즘 기본에서 고른 문제이다. 유사 문제 풀이 https://www.codetree.ai/missions/8/problems/computer-hours?&utm_source=clipboard&utm_medium=text 문제 n명의 사람들의 컴퓨터 사용 시작시간과 종료시간이 주어진다.선착순으로 맨 앞 번호부터 채워 앉는다고 했을 때, (자리가 나면 또 맨 앞부터 다시 채움)n명의 사람들이 차지했던 컴퓨터 번호를 출력하는 문제이다. 코드 import hea..
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 파이썬
- bipartite graph
- pytorch
- 수학
- 코딩테스트실력진단
- 백준
- 우선순위큐
- 분리집합
- 1202
- 트랜스포머
- disjoint set
- padding mask
- lis
- Transformer
- 그리디
- 구현
- 코드트리
- 이분 그래프
- dfs
- 이분탐색
- DP
- COLAB
- python
- 알고리즘
- 누적합
- Prefix sum
- greedy
- Algorithm
- Look-ahead Mask
- boj