본문 바로가기

분류 전체보기103

[백준] 20056번 : 마법사 상어의 파이어볼 (삼성 역량 SW기출) https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net #include #include using namespace std; struct Node { public: int mass; //질량 int dir; //방향 int speed; //속도 Node(int mass, int speed, int dir) { this->mass = mass; this->speed = speed; this->dir = dir; }.. 2021. 10. 20.
[알고리즘] MST - 프림 알고리즘 (Prim Algorithm) 복습 Spanning Tree 그래프 내의 모든 정점을 포함하는 트리를 의미한다. Spanning Tree의 특징 Tree의 특수한 형태로 모든 정점이 연결되어 있어야 한다. 하나의 그래프에 여러개의 스패닝 트리가 존재할 수 있다. 사이클이 존재하면 안된다. N개의 정점을 정확히 N-1개의 간선으로 연결해야한다. Minimum Spanning Tree (MST) 사용된 간선들의 가중치 합이 최소인 Spanning Tree를 의미한다. 프림 알고리즘 ( Prim Algorithm) 무방향 그래프가 주어졌을 때 최소 스패닝트리 (MST)를 찾는 대표적인 알고리즘으로 시작 정점을 기준으로 가중치가 가장 작은 간선과 연결된 정점을 선택하며 신장 트리를 확장 시킨다 동작 방법 1. 임의의 정점을 선택 (어떤 정점.. 2021. 10. 20.
[프로그래머스] N으로 표현 (JAVA) https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr import java.util.*; class Solution { int result=Integer.MAX_VALUE; int A; void solve(int n, int cur, int cnt){ if(cnt>8) return; if(cur==n) { result=Math.min(result,cnt); return; } int temp=A; for(int i=1; i 2021. 10. 16.
[JAVA] 코딩테스트 자주 사용하는 함수 int[] arr = {1,8,6} static int [] dx = {1, -1 , 0, 0}; static int [] dy = {0, 0, 1, -1}; ArrayList[][] a = new ArrayList[N+1][N+1] //2차원 ArrayList Arrays.sort(arr); // 오름차순 정렬 Arrays.sort(arr,Collections.reverseOrder()); // 내림차순 정렬 Arrays.sort(int[][] jobs, ((o1,o2)->o1[0]-o2[0]) // 0번째 원소를 기준 오름차순 Arrays.sort(int[][] jobs, ((o1,o2)->o2[0]-o1[0]) // 0번째 원소를 기준 내림차순 Arrays.copyOfRange(arr,2,4) //.. 2021. 10. 16.
[Docker] Certbot컨테이너를 통한 HTTPS 프로토콜 적용 현재 웹서버 Nginx는 http 서버로서의 역할을 하고 있기 때문에 HTTP(기본 포트번호 80)로 들어오는 요청을 HTTPS(기본 포트번호 443)로 리다이렉션 하는 작업을 해줘야한다. 즉, Nginx에서 Certbot을 통해 SSL을 발급받아 Https적용해야한다. Let's Encrypt와 Certbot이란? Let's Encrypt는 무료 SSL인증서를 발급해주는 곳이고, Certbot는 Let's Encrypt 인증서를 자동으로 발급 및 갱신을 해주는 프로그램이다. Certbot을 이용해 인증서를 받기위해선 서비스를 운용하는 서버 & 서비스할 도메인 주소 가 필수적으로 필요하다. Certbot으로 받은 인증서(Encrypt)는 3개월 유효기간이 있으므로 주기에 맞추어 갱신이 필요하다. Dock.. 2021. 10. 14.
[백준] 구간 합 구하기 5 (C++) https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net #include using namespace std; int N, M; int map[1025][1025]; int dp[1025][1025]; int main() { ios_base::sync_with_stdio(false); cout.tie(NULL);cin.tie(NULL); cin >> N >> M; for (int i = 1; i map[i][j.. 2021. 10. 8.