본문 바로가기

분류 전체보기

(308)
[백준/C++] 1005번: ACM Craft 문제https://www.acmicpc.net/problem/1005문제 요약1번부터 N번까지 각 N개의 건물을 짓는데 걸리는 시간이 주어진다. 또한 건설 순서 X Y가 주어진다.(X Y: 건물 X를 지은 다음 건물 Y를 짓는 것이 가능하다.) 특정 건물 W를 입력 받고, 해당 건물이 가장 빨리 지을 때까지 걸리는 최소시간을 출력한다. 건물들은 가능하다면, 동시에 지어질 수 있다.코드#include #include #include #include #include #include using namespace std;// indegree[i]: i번 노드로 들어오는 간선의 수int indegree[1010];// delay[i]: i번 노드의 지연 시간int delay[1010];// dp[i]: i번 노드..
[AWS] 탄력적 IP 연결 & 서버 배포 인프런 JSCODE 박재성님의 비전공자도 이해할 수 있는 AWS 입문/실전을 정리한 글입니다.탄력적 IP 연결EC2 인스턴스를 생성하면, IP를 할당받는다. 하지만, 이는 임시적인 IP로 인스턴스를 잠시 중지했다가 다시 실행하면 IP가 바뀌어 있다.(IP가 전세계적으로 부족하기 때문에, 사용하지 않으면 다른 인스턴스에 할당할 수 있도록 하기 위함이다.) 따라서 고정 IP를 할당 받아야하는데, 이것이 바로 탄력적 IP이다. 현업에서도, EC2 인스턴스를 생성하면 탄력적 IP를 대부분 필수적으로 설정한다.Spring Boot 서버를 EC2에 배포1. Ubuntu 환경에서 JDK설치+ Spring Boot는 3.x.x 버전을 사용하고, JDK는 17버전을 사용할 예정이다.$ sudo apt update && ..
[AWS] EC2 설정 인프런 JSCODE 박재성님의 비전공자도 이해할 수 있는 AWS 입문/실전을 정리한 글입니다.이름 및 태그 EC2의 이름을 설정하는 곳이다. 이 컴퓨터가 어떤 역할을 하는지 알아볼 수 있도록 작성한다.ex) instargram-serverApplication and OS Images (Amazon Machine Image) OS(운영체제)를 선택하는 단계이다. Windows나 Mac OS는 용량도 많이 차지하고, 성능도 많이 잡아먹는다.따라서, 일반적으로 훨씬 가벼운 Ubuntu 22.04 LTS를 선택한다.인스턴스 유형 인스턴스란, AWS EC2에서 빌리는 컴퓨터 1대를 의미한다. 즉, 인스턴스 유형이란, 컴퓨터 사양을 의미한다. 프리티어에 해당하는 t2.micro를 사용한다.키 페어(로그인) 키 페어..
[AWS] EC2 인프런 JSCODE 박재성님의 비전공자도 이해할 수 있는 AWS 입문/실전을 정리한 글입니다.EC2 (Elastic Compute Cloud) 란?컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스이다.즉, 하나의 컴퓨터를 의미한다.Why EC2?서버를 배포하기 위해서는 컴퓨터가 필요하다.배포: 다른 사용자들이 인터넷을 통해 사용할 수 있도록 만드는 행위  But, 내 컴퓨터로 서버를 배포하면, 24시간 컴퓨터를 켜놔야 하고, 보안상으로 위험할 수 있다. 추가적으로 로깅, 오토스케일링, 로드밸런싱등 여러 부가기능을 제공한다.현업에서는?현업에서도 실제 서버를 배포할 때, AWS EC2를 많이 사용한다. 백엔드 서버를 배포해야할 때, 주로 사용한다. 프론트엔드 웹 페이지를 배포할 때도 AWS EC2를 사용할 수..
[백준/C++] 11404번: 플로이드 문제https://www.acmicpc.net/problem/11404문제 요약n개의 도시가 있다. 한 도시에서 다른 도시에 도착하는 m개의 버스가 있다.  각 버스는 한 번 사용할 때 필요한 비용이 있다. 모든 도시의 쌍에 대해 도시 A에서 B로 가는데 필요한 비용의 최솟값을 출력한다. 시작 도시와 도착 도시를 연결하는 노선은 하나가 아닐 수 있다.코드#include #include #include #include #define INF 1e9using namespace std;int n, m;int dist[110][110];vector> edges[110];int main() { cin >> n >> m; // 그래프 입력 for (int i = 0; i > a >> b >> w; ..
[백준/C++] 2206번: 벽 부수고 이동하기 문제https://www.acmicpc.net/problem/2206문제 요약N × M 행렬로 표현되는 맵에서 0은 이동할 수 있는 곳을, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. (1, 1)에서 (N, M)으로 최단 경로로 이동하려 할 때, 벽을 1개 부술 수 있다. 한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다.코드#include #include #include #include #include using namespace std;int n, m;int board[1010][1010];bool visited[1010][1010][2];int dx[4] = { 0, 0, 1, -1 };int dy[4] = { 1, -1, 0, 0 };// x, y, dist, wallqueue> q;i..