문제주어진 문제는 N×M 크기의 격자에서 빙하(1)와 물(0)의 상태를 표현하는 배열을 통해, 빙하가 전부 녹는 데 걸리는 시간과 마지막으로 녹은 빙하의 크기를 계산하는 것이다. 빙하는 매 초마다 상하좌우로 인접한 물과 접촉하여 동시에 녹는데, 빙하로 둘러싸여 있는 물의 경우에는 붙어 있는 빙하를 녹이지 못한다. 최종적으로 빙하가 모두 녹을 때까지의 시간과 마지막으로 녹은 빙하의 크기를 출력해야 한다. 풀이바깥쪽에 있는 물이 빙하와 접촉하면 해당 빙하가 녹지만, 안쪽에 있는 물은 빙하에 영향을 미치지 않는다는 점이 중요하다.이를 해결하기 위해 BFS 알고리즘을 사용하여 바깥쪽 물을 중심으로 탐색하면서 빙하를 만나면 녹이도록 한다.이 과정에서 빙하가 녹은 자리는 물의 영역으로 간주될 수 있기 때문에, 기존..
MySQL 서버는 처음 설치하면 자동으로 서버가 시작되게 설정된다. MySQL 서버를 필요한 시점에만 서버를 실행하거나 종료하고 싶다면 수동으로 설정을 바꾸면 된다.1. MySQL 서버 수동 설정윈도우 검색창에서 '서비스' 검색Windows 작업 표시줄의 검색창에 '서비스'를 입력하고 서비스 관리 도구를 연다. MySQL 서비스 탐색서비스 목록에서 MySQL 또는 MySQL80을 찾는다. 속성 변경MySQL 서비스를 더블 클릭해 속성 창을 연다.속성 창에서 시작 유형을 수동으로 변경한 후 확인을 클릭한다. 이제 MySQL 서버는 수동으로 시작할 수 있으며, 시스템이 시작할 때 자동으로 실행되지 않는다. 2. 명령어로 MySQL 서버 시작 및 종료하기 MySQL 서버를 수동으로 설정한다면, 명령어(cmd..
Elasticsearch엘라스틱서치(Elasticsearch)는 아파치 루씬(Apache Lucene)을 기반으로 개발된 오픈소스 분산 검색 엔진이다. 루씬의 역색인(inverted index) 구조를 활용하여 문서 내 단어들을 빠르게 색인하고 검색할 수 있다.엘라스틱서치는 검색 엔진 기능 외에도 로그 분석과 실시간 모니터링 등에 사용된다.특히 Logstash와 Kibana와 함께 사용되어 데이터 수집, 저장, 분석, 시각화를 제공할 수 있다.Elasticsearch Python Client 사용하면 Python 애플리케이션에서 Elasticsearch를 쉽게 통합할 수 있다. 1) Elasticsearch 설치Elasticsearch Python Client를 설치하려면 pip를 사용하면 된다.pip ..
VSCode에서 MySQL Extension 설치하기먼저 VSCode에 MySQL Extension을 사용하기 전, 연결할 MySQL을 먼저 준비되어야 한다.혹시 개인 연습용이라면 MySQL을 설치하고 시작하면 좋다.[MySQL] MySQL 설치하기 (윈도우 / windows)연결할 MySQL의 Host와 Port, Username과 Password를 사전에 알아두자.주의! MySQL Extension은 기존 DB에 연결해주는 역할을 하는 것이기에 연결할 DB가 준비되어 있어야 한다! Extension을 통해 새로 만드는 것이 아님으로 주의하자. 1) Extensions 아이콘을 선택하여 MySQL을 검색한다.다양한 Extension 중에 Weijan Chen의 MySQL을 선택한다. 2) Install..
1. 개발 환경 준비1) FastAPI 설치이전 글을 참고해서 FastAPI를 설치 [FastAPI] FastAPI 설치 및 간단한 웹 API 만들기FastAPIFastAPI란 빠르고 간단한 python 기반의 웹 프레임워크이다.비동기 방식을 사용하기 때문에 Uvicorn이나 Hypercorn의 ASGI Server가 필요하다.예제에서는 Uvicorn을 사용하려 한다. 1) FastAPI 및 Uvicorn 설code-angie.tistory.com 2) MySQL 설치이전 글을 참고해서 MySQL을 설치 [MySQL] MySQL 설치하기 (윈도우 / windows)MySQL MySQL은 가장 많이 사용되는 데이터베이스 중 하나이며, 무료이기에 간단히 설치해 바로 사용할 수 있다. 윈도우와 리눅스 등 다양..
MySQLMySQL은 가장 많이 사용되는 데이터베이스 중 하나이다.무료이기에 간단히 설치해 바로 사용할 수 있다. 윈도우와 리눅스 등 다양한 운영체제에서 사용 가능해 확장성이 뛰어나다. 표준 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 releas..
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..