목차 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약,..
목차 FastAPI + SQLAlchemy + Pydantic을 이용한 게시판 만들기 [FastAPI]FastAPI 튜토리얼 [FastAPI]SQLAlchemy + Pydantic를 이용한 게시판 만들기-(1) 회원가입 및 로그인 구현(JWT) [FastAPI]SQLAlchemy + Pydantic를 이용한 게시판 만들기-(1.5) 디테일 수정 [FastAPI]SQLAlchemy + Pydantic를 이용한 게시판 만들기-(2-1)Feed CRUD - Model, Service [FastAPI]SQLAlchemy + Pydantic을 이용한 게시판 만들기-(2-2)Feed CRUD - Routes, main.py [FastAPI]SQLAlchemy + Pydantic을 이용한 게시판 만들기-(3)S3 버..
목차 [Flask]갑자기 만들어보는 Flask 서버 튜토리얼 약 40일 정도 시간이 지났지만, 뜬금없이 진도를 나가보려고 한다. 회사에서 플라스크와 웹플럭스를 이용한 데이터 파이프라인을 구축 중이라 한땀한땀 플라스트 앱을 만들기는 했으나 아무래도 주먹구구식으로 만든 거라 기초적인 이해가 더 필요하다고 느꼈기 때문이다. 기본적인 설정은 지난 글에서 했으니, 이번 글에선 바로 MVC 패턴을 적용해 기초적인 게시판을 만들어본다. SQLAlchemy 먼저 터미널에 아래와 같은 명령어를 입력해 SQLAlchemy를 설치해준다. source myenv/bin/activate pip install Flask-SQLAlchemy SQLAlchemy는 파이썬을 위한 ORM 라이브러리로, DB와의 상호작용을 좀 더 Pyt..
목차 이전 글에서 자바에서의 전략패턴 구현에 대해 알아본 적이 있다. [Java]전략패턴 [Java]전략패턴 목차 Strategy Pattern 전략 패턴은 정책 패턴(Policy Pattern)이라 불리기도 하며, 소프트웨어의 실행 중 상황에 맞는 알고리즘을 선택해 실행할 수 있도록 하는 객체 지향 디자인 패턴이다. 예를 들자면 gnidinger.tistory.com 그 이후로 이런저런 구현을 하다가, 파이썬을 이용해 개발을 해야 할 일이 생겼는데, 아예 처음부터 전략패턴을 적용해서 구조를 설계하면 좋을 것 같다는 생각이 들어서 공부하게 되었다. 이 글에서는 위의 글과 마찬가지로 정렬 로직을 이용해 전략패턴을 구현하는 법을 살펴본다. 각 구현에 대한 세부사항은 아래 글에 적혀있다: [Java+Pytho..
목차 다소 뜬금없지만 플라스크를 공부해야 할 일이 생겼다. 그 목적은 데이터 파이프라인 구축 시 크롤링 모듈을 파이썬으로 분리시켜 API 통신을 하도록 만드는 것이다. 데이터 파이프라인.. 이름은 멋있지만 지금은 감도 안 오고 해서 일단 할 수 있는 공부부터 한다. 이번 글에선 정말 단순하게 플라스크를 설치하고, 환경을 설정한 뒤에, 서버를 띄우는 것까지 해보려 한다. 장고에 비해 매우 단순하고 가볍다던 플라스크, 한 번 경험해 보자! Installation 플라스크를 사용하려면 당연히 설치부터 해야 한다. 나는 맥북을 사용하며, 파이썬은 이미 깔려있다 가정한다. 터미널에 아래와 같이 입력하면, pip install Flask 관련 패키지가 매우 빠르게 설치된다. 그 대략적인 목록은 다음과 같다. Fla..
목차 문제 오늘도 서준이는 깊이 우선 탐색(DFS) 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해 보자. N개의 정점과 M개의 간선으로 구성된 무방향 그래프(undirected graph)가 주어진다. 정점 번호는 1번부터 N번이고 모든 간선의 가중치는 1이다. 정점 R에서 시작하여 깊이 우선 탐색으로 노드를 방문할 경우 노드의 방문 순서를 출력하자. 깊이 우선 탐색 의사 코드는 다음과 같다. 인접 정점은 오름차순으로 방문한다. dfs(V, E, R) { # V : 정점 집합, E : 간선 집합, R : 시작 정점 visited[R]
목차 문제 크기가 N인 수열 $A = A_1, A_2,..., A_N$이 있다. 수열의 각 원소 $A_i$에 대해서 오등큰수 NGF(i)를 구하려고 한다. $A_i$가 수열 A에서 등장한 횟수를 $F(A_i)$라고 했을 때, $A_i$의 오등큰수는 오른쪽에 있으면서 수열 A에서 등장한 횟수가 $F(A_i)$보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오등큰수는 -1이다. 예를 들어, A = [1, 1, 2, 3, 4, 2, 1]인 경우 F(1) = 3, F(2) = 2, F(3) = 1, F(4) = 1이다. $A_1$의 오른쪽에 있으면서 등장한 횟수가 3보다 큰 수는 없기 때문에, NGF(1) = -1이다. $A_3$의 경우에는 $A_7$이 오른쪽에 있으면서 F(A3=..
목차 문제 우리는 스마트폰을 사용하면서 여러 가지 앱(App)을 실행하게 된다. 대개의 경우 화면에 보이는 ‘실행 중’인 앱은 하나뿐이지만 보이지 않는 상태로 많은 앱이 '활성화'되어 있다. 앱들이 활성화되어 있다는 것은 화면에 보이지 않더라도 메인 메모리에 직전의 상태가 기록되어 있는 것을 말한다. 현재 실행 중이 아니더라도 이렇게 메모리에 남겨두는 이유는 사용자가 이전에 실행하던 앱을 다시 불러올 때에 직전의 상태를 메인 메모리로부터 읽어 들여 실행 준비를 빠르게 마치기 위해서이다. 하지만 스마트폰의 메모리는 제한적이기 때문에 한 번이라도 실행했던 모든 앱을 활성화된 채로 메인 메모리에 남겨두다 보면 메모리 부족 상태가 오기 쉽다. 새로운 앱을 실행시키기 위해 필요한 메모리가 부족해지면 스마트폰의 운..
목차 이진 탐색 [Java+Python]1920번, 수 찾기 [Java+Python]1654번, 랜선 자르기 [Java+Python]2805번, 나무 자르기 [Java+Python]2110번, 공유기 설치 [Java+Python]2805번, K번째 수 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50}인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50}이고, 길이는 4이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 $A_i$가 주어진다. ($1 ≤ A_i ≤ 1,000,000$) ..
목차 이진 탐색 [Java+Python]1920번, 수 찾기 [Java+Python]1654번, 랜선 자르기 [Java+Python]2110번, 공유기 설치 [Java+Python]2805번, K번째 수 [Java+Python]12015번, 가장 긴 증가하는 부분 수열 2 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할 것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그다음, 한 줄에 연속해 있는 나무를..
- Total
- Today
- Yesterday
- java
- 면접 준비
- 자바
- 파이썬
- Python
- spring
- Backjoon
- 리스트
- 동적계획법
- 알고리즘
- 야경
- a6000
- Algorithm
- 칼이사
- 여행
- 스트림
- 중남미
- RX100M5
- 유럽
- 맛집
- 백준
- 유럽여행
- BOJ
- 스프링
- 세계일주
- 세계여행
- 기술면접
- 세모
- 지지
- 남미
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |