https://www.acmicpc.net/problem/20160 #문제 간단 정리다익스트라 + 구현 #문제 해결 방법 우선 문제를 차근차근 읽어보다보면 어떻게 풀어야될지 접근이 그렇게 어렵지 않다. 우선 각 지점 다음에 다음정해진 지점으로 이동하는데만약 다음 지점으로 못간다면 그 다음지점으로 가야된다 여기서 그 지점에서 다음지점까지의 최단거리를 위해 다익스트라를 사용하니다익스트라를 최소 10번은 사용함을 알 수 있다. 그렇게 각 지점별로 최소시간을 구하고다음으로 내가 각 지점별로 도착하는 시간을 다익스트라로 알아낸 뒤에 야쿠르트 아줌마가 도착하는 시점보다 더 빨리 그 정점에 도착하는 경우가 있다면 정답이 된다 여기서 좀 더 고려해야 될 점은야쿠르트아줌마의 각 정점 이동시간을 누적으로 구현해줘야되고다..
#문제 간단 정리다익스트라 #문제 해결 방법가중치가 들어간 최단경로 문제1/속도가 한칸을 움직이는 시간이니까최단시간일때만 시간 갱신하게 해주면된다.소수점을 쓰니 오차에 주의하자 #전체 코드#include #include #include #include #include #include #include #include #include using namespace std;typedef long long ll;typedef long double ld;int dy[4] = { -1,0,1,0 };int dx[4] = { 0,1,0,-1 };vector> m;vector> dist;int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); ld v; ..
https://www.acmicpc.net/problem/15900 #문제 간단 정리그래프 문제 #문제 해결 방법 일단 그리디하게 트리의 깊이의 개수가홀수면 성헌이가 이기고 짝수면진다이건 몇번 실제로 그려보면 쉽게 알 수 있기 때문에 트리의 깊이를 확인하는걸 dfs나 그래프탐색으로 해주 #전체 코드#include #include #include #include #include #include #include #include using namespace std;vector visited;vector> graph;int gCount;void dfs(int level, int node) { bool isLast = true; for (auto a : graph[node]) { if ..
Nginx란 nginx는 한줄로 정리하자면고성능의 웹 서버이자 리버스 프록시 서버 역할을 하는 소프트웨어 Apache,Tomcat처럼 웹과 관련된 트래픽을 처리하는서버 애플리케이션이다. Nginx의 역할 분류역할 설명예시🌐 웹 서버HTML, JS, 이미지 같은 정적 파일 서빙localhost/index.html 직접 보여줌🔁 리버스 프록시 서버클라이언트 요청을 다른 서버(Spring 등)에 대신 전달proxy_pass http://localhost:8080⚖️ 로드 밸런서여러 백엔드 서버로 요청을 분산server 8081, server 8082🔐 SSL 처리기HTTPS 요청을 받고 인증서 관리ssl_certificate 설정📦 캐시 서버요청 결과를 메모리에 저장해 빠르게 응답proxy_cache ..
운영체제의 계층구조 먼저 우리가 사용하는 운영체제는 사용자 프로그램이 하드웨어에 직접 접근하지 못한다그 중간에 시스템 콜 인터페이스와 커널이 하드웨어 중간에 존재한다 [ 사용자 프로그램 ] ↓ [ 사용자 API / 라이브러리 (예: printf, fopen 등) ] ↓ [ 시스템 콜 인터페이스 (예: read, write, fork 등) ] ↓ [ 커널 (Kernel) ] ↓ [ 하드웨어 ] 커널: 운영체제의 핵심. 메모리, 파일 시스템, 프로세스, 네트워크, 장치 등을 제어.시스템 콜: 사용자 프로그램이 커널 기능을 요청할 수 있도록 만들어진 함수 집합API/라이브러리: 시스템 콜을 좀 더 사용하기 편하게 감싼 인터페이스사용자 프로그램: 개발자가..
https://www.acmicpc.net/problem/8983 #문제 간단 정리 #문제 해결 방법 우선 동물의 개수가 10만개사대의 개수가 10만개 즉 완전 탐색으로는 10만 * 10만 으로 100억이라 완전 시간초과그래프 탐색도 최악의 경우에는 완전탐색이기에 방법이 없다 dp 는 딱히 떠올리는게 없고 결국 동물의 위치와 가장 가까운 사대는 x가 가까울수록 위치도 무조건 가까워지니이분탐색 log n으로 풀어주면 된다. 사대정렬 n log n + m log n 으로 시간복잡도가 충분하니 이대로 풀면 된다. #전체 코드 #include #include #include using namespace std;typedef long long ll;vector> animals;vector shooters;i..
https://www.acmicpc.net/problem/28333 #문제 간단 정리역방향 bfs 문제 #문제 해결 방법 여러개의 최단경로의 경로상의 도시들을 선택하는 문제 역방향 bfs에 대한 아이디어가 없었기에최단경로로 다익스트라를 선택해서다익스트라가 경로를 기억하도록 변경해서 했더니 최단경로가 여러개가 될 수 있다는 것을 간과했다.#include #include #include #include #include #include using namespace std;int dist[1001];vector> nodes;vector routes;int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; w..
이번에 3/15일 멀티캠퍼스 역삼에서 삼성B를 보고동계 DX 알고리즘 특강이 마무리 되었습니다.간단하게 다른분들도 신청할 때 참고하시라고 간단한 후기글을 적습니다. 특강접수: 특강 접수는 대략 5일정도 진행됬었던거 같고.꽤나 접수 기간이 짧은 편이라서 신경 안쓰고 있다가는 놓치기 쉽습니다. 비슷한 SDS 특강과는 다르게자소서 없이 이메일이나 개인정보만 입력하면 신청 할 수 있습니다. #사전 문제 풀이 : 신청을 했다면 이제 사전 문제 풀이를 진행해야 되는데SWEA 에서 진행되고 대략 일주일정도의 풀이 시간이 주어지고3문제 나올때가 있고 2문제 나올 때가 있는 것 같은데 저는 2문제가 출제되었습니다.모두 API 구현이라는 형식으로 나오게 되는데 main.cpp 와 solution.cpp 가 주어지고저희는..
https://www.acmicpc.net/problem/9567#번역 #문제 간단 정리 #문제 해결 방법 우선 입력이 들어오면 A번째 축사를 선호하는 몇마리가 들어오는지 알게 되는데 이걸 배열에다가 누적해서 기록을 해두자0 1 2 3 4 5 6 7 8 9 축사가 있으면3번째좋아하는 소가 3마리 6번째 좋아하는 소가 3마리6번쨰 좋아하는 소가 3마리 들어오면 0 1 2 3 4 5 6 7 8 9 :축사 번호0 0 0 3 0 0 6 0 0 0 : 소 누적 배열 이런식으로 누적을 해준 후에목장을 2번 돌면서 cowStack 이란 변수를 선언해주고 (현재 대기하고 있는 소들 누적 변수)누적배열에 소가 잇다면 소를 더해주고(예를들어 i = 3 이고 누적배열[3] 에 소가 0 이상이라면 더해주면 된다) boo..
https://www.acmicpc.net/problem/15811 #문제 간단 정리브루트포스 + 백트래킹 문제 다만 최적화가 좀 필요하다 #문제 해결 방법 우선 제일 주목해야 될점은숫자는 0~9까지밖에 없으니까 한번에 나오는 알파벳은 10개로 제한된다. 즉 알파벳을 할당하는데 10!이라서 충분히 가능해 보인다. 거기에 18길이의 단어니까 18*3 * 10! 해도 충분해 보이니 #include #include #include #include #include #include using namespace std;unordered_map mapping;vector> alphas;vector token;bool possible;bool used[10] = { false };void check() { ..