분류 전체보기
![[Python] 백준 14502번 - 연구소](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fc6EIau%2Fbtsni98Raoq%2FAAAAAAAAAAAAAAAAAAAAAIJ_gfyOcCKnKg5RBKF_MXFdFrR4_i5gBRRbCfGOm2yV%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DsEwOFfF%252FN7B2AQiasj588zhqoZI%253D)
[Python] 백준 14502번 - 연구소
문제: https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 처음 문제를 봤을 때, 벽을 세울 3개의 좌표를 어떻게 찾아줘야 좋을까 고민을 많이 했다. 그런데 경우의 수가 너무 많았고, 경우의 수들 중 안전 영역의 크기가 최대가 되도록 하는 좌표를 특정해줄 수 없겠다고 판단하였다. 따라서 가능한 모든 경우의 수에 대해 안전영역 크기를 계산하고, 그 값들 중 최댓값을 구하는 방식으로 풀이해야겠다고 생각했다. 모든 경우의 수에 대해 계산할 때, 시간복잡도를 만족할지..
![[Python] 백준 18870번 - 좌표 압축](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fm0V8h%2FbtsnhcRE37v%2FAAAAAAAAAAAAAAAAAAAAABjgigTK2xjVbxgiB3gOqgoI7gkfgbJFHXdzz47Dnn7-%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D%252BKGzswRJ3DxzxzJ1XZBuP0VZPPc%253D)
[Python] 백준 18870번 - 좌표 압축
문제: https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 www.acmicpc.net 이분탐색 카테고리로 찾았던 문제인데, 이분탐색으로 풀지않고 dictionary를 활용해서 제한시간안에 풀었다. 주어진 수들 중 가장 작은 수를 0으로 지정하고 수가 커갈수록 1씩 증가시켜 준다고 생각하면 쉽게풀 수 있다. dictionary를 아래의 방식으로는 잘 활용해본적 없어서 익숙해지면 다를 풀이를 쓸때도 활용하면 좋을 것 같다. n..
![[Python] 백준 1654번 - 랜선 자르기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FYJPuS%2Fbtsl3iTyK4B%2FAAAAAAAAAAAAAAAAAAAAAD0p8UiwXt09YS8cGyyRMx0oEwKj_cw1hJ7RLLzeeICz%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D0R3qLMW6GRTz6nkiAfh913%252FdwnI%253D)
[Python] 백준 1654번 - 랜선 자르기
문제: https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 재미있게 푼 문제였다. 문제를 읽으면서 이분탐색을 해서 최대값을 찾아야할지, 그리디로 풀 수 있을지 고민했다. "N개보다 많이 만드는 것도 N개를 만드는 것에 포함된다." 라는 말 때문에 최선의 선택을 하면서 분기점이 넘어가는 순간을 찾으면 되겠다고 생각해서 그리디로 풀어보았다. k, n = map(int, input().split()) cables = [int..
![[Python] 백준 5427번 - 불](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2F28Lns%2FbtslQlJBtfZ%2FAAAAAAAAAAAAAAAAAAAAAA5_aD4MDJnv1kfZX-C7K56UMg00yyqFeJTMpkX80hEL%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DnI2KeqtPrp1%252Fo4xmPqBXR9wLb8k%253D)
[Python] 백준 5427번 - 불
+) 6/30 추가 오늘 같은 문제를 한번 더 풀어보았다. 혼자 다시 풀어보니 여전이 이해가 안되는 부분이 있었다. 내가 헷갈렸던 부분은, 상근이가 이미 지나온 자리에 대해서는 불이 옮겨붙지 않다도 된다는 것이다. #### #*@. #### 예를 들어 위와 같은 미로가 주어지는 경우, 1초 뒤에는 다음과 같이 변해있어야 한다고 생각했다. #### #**@ #### 하지만 이렇게 변하면, 1초 안에서 불이 먼저 번지고 상근이가 옮겨갈 차례가 될 때 상근이의 위치를 상실하게 된다. 상근이는 출구까지 최단거리로 이동하기 때문에 지나왔던 자리를 다시 지나갈 필요가 없게된다. 즉, 지나왔던 자리에 대해 불이 붙는지 아닌지 코드상에서 알 필요가 없다는 것이다. 결국 어제 짰던 코드를 다시 참고해서 풀었다 .. fr..
![[AWS] 서버리스로 서버없이 간단한 웹 애플리케이션 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbrPuc1%2FbtslqitjFOv%2FAAAAAAAAAAAAAAAAAAAAAF6eRekEDVjbmeOiPwTtyorKjDlQP-zmvSrd2JiMd70n%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DcohqBj9URGYhO%252F8vdGhaTcaVDdo%253D)
[AWS] 서버리스로 서버없이 간단한 웹 애플리케이션 만들기
지난 6월 19일에 AWS Builders Korea Program 기초과정으로 열리는 AWS 서버리스로 서버 없이 간단한 웹 애플리케이션 만들기 세션을 수강했다. 평소에 AWS에 관심이 많았고, 특히 AWS의 서버리스 서비스인 Lambda에 관심이 많았는데 좋은 기회로 실습까지 해볼 수 있어서 좋았다 :) 서버리스란? AWS에서는 서버의 패러다임 전환을 다음과 같이 소개한다 1세대: Physical Machine (물리 머신) 2세대: Virtual Machine (가상 머신) 3세대: Containerization (컨테이너화) 4세대: Serverless (서버리스) 1세대인 물리머신에서는 한 대의 물리머신 위에 필요한 것들을 모두 배포하는 방식으로 이루어 졌다. 2세대 가상머신에 와서는 한 대의 ..
![[Python Framework] 파이썬 프레임워크와 웹서버 연동 - CGI, WSGI, ASGI 차이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FFVXz3%2Fbtskgqd9tep%2FAAAAAAAAAAAAAAAAAAAAAKN9WCXBFfaHcvI673EjAVEDD594yWc4Mm0TkhjDGX20%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DL37kknTN17tleYazjSaI3tNe2bY%253D)
[Python Framework] 파이썬 프레임워크와 웹서버 연동 - CGI, WSGI, ASGI 차이
Django 프로젝트를 AWS에 3-Tier로 구축하는데, 어떤 미들웨어를 어떻게 써야할지 잘 모르겠어서 관련 공부를 해보았다. 일반적으로 웹서버는 Python으로 작성되지 않기 때문에 Python을 쓰는 Django 웹 프레임워크를 사용하는 경우 웹서버와 소통을 가능하게 해줄 중간개체가 필요하다. 이 중간 매개체역할을 해주는 것들이 CGI, WSGI, ASGI이다. 1. CGI (Common Gateway Interface) CGI는 Common Gateway Interface의 약자로 웹서버에서 사용자 요청이 들어왔을 때 이를 프로세스로 생성하여 실행해주는 역할을 한다. 요청에 따라 프로세스를 fork*하거나 spawn*하기 때문에 메모리가 많이 차지될 수 있어 성능저하가 발생할 수 있다. 실제 처리..
![[AWS] 3-Tier-Architecture 구축 #4 - Bastion Host와 WEB 계층](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbO3tBl%2Fbtsj6RbXXIf%2FAAAAAAAAAAAAAAAAAAAAAC2Yoc_yE71mr5sR4sOSRBu4MVOi82nys998oLIucHsH%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dj2K1AJf0ctEtcAUL3ZGtieMR3No%253D)
[AWS] 3-Tier-Architecture 구축 #4 - Bastion Host와 WEB 계층
아래 포스팅에서 이어지는 글입니다. [AWS] 3-Tier-Architecture 구축 #3 - NAT Gateway 대신 NAT Instance를 사용해 비용 절약하기 아래 포스팅에서 이어지는 글입니다. [AWS] 3-Tier-Architecture 구축 #2 - VPC 아래 포스팅에서 이어지는 글입니다. [AWS] 3-Tier-Architecture 구축 #1 - 설계 Django로 만든 프로젝트를 AWS에서 3 Tier Architecture로 구 jjung0326.tistory.com 먼저 설계도에 있는 Bastion Host가 어떤 역할을 하는지 알아보자. Bastion Host란? 외부 인터넷 망에서 VPC의 Private subnet은 기본적으로 막혀있다. 하지만, 외부에서 Private s..
![[AWS] 3-Tier-Architecture 구축 #3 - NAT Gateway 대신 NAT Instance를 사용해 비용 절약하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbcF0sj%2Fbtsj6Agq3IS%2FAAAAAAAAAAAAAAAAAAAAALcH3-0V8LZQ_dA_XCjxcNDpxoOBYM53i431LdVJRhlX%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DtyveZPdn84%252BObdusMY9I7rRFS%252Bk%253D)
[AWS] 3-Tier-Architecture 구축 #3 - NAT Gateway 대신 NAT Instance를 사용해 비용 절약하기
아래 포스팅에서 이어지는 글입니다. [AWS] 3-Tier-Architecture 구축 #2 - VPC 아래 포스팅에서 이어지는 글입니다. [AWS] 3-Tier-Architecture 구축 #1 - 설계 Django로 만든 프로젝트를 AWS에서 3 Tier Architecture로 구현하는 실습을 해보려고 한다. 먼저 3 Tier Architecture에 대해 알아보자. jjung0326.tistory.com 이번 포스팅에서는 AWS NAT Gateway를 어떻게 연결했는지 살펴보려고 한다. 그런데 AWS NAT Gateway 서비스는 생성만 해도 시간당 0.059USD의 비용이 부과되고, 데이터 처리 시 GB당 0.059USD가 추가로 부과되는 (학생이 쓰기엔 아주) 비싼 상품이다. 허허 다행인건 N..