[네트워크] 인터넷, 프로토콜, 데이터 전송 방식
·
⚙️ CS/네트워크
✅ 컴퓨터 네트워크아래 네트워크 개념을 컴퓨터에 접목시키면, “그물처럼 서로 엮어서 일하는 컴퓨팅 디바이스 모음” 으로 해석 가능하다.즉, 더 길게 풀면 각 통신 장비들이 서로 연결되어 데이터를 교환하고 리소스를 공유하는 통신망이라고 할 수 있다. 가정에서 스마트폰, 노트북 등이 하나의 와이파이에 연결되는 것도 하나의 네트워크이고, 우리가 흔히 아는 인터넷도 네트워크이다. 🏷 네트워크Net와 Work의 합성어로, “그물처럼 서로 엮어서 일하는 것”이라고 해석할 수 있다. ✅ 인터넷의 구성 요소인터넷 = 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크인터넷은 아래와 같은 요소들로 구성되어 있다. 🏷 호스트(host) = 종단 시스템(end system): 컴퓨터 네트워크에 연결된 컴퓨..
[ISSUE] error: connect econnrefused
·
🎯 Programming
🚨 문제 상황`GitHub Actions`를 이용해 `EC2`에 `Spring Boot` 서버를 성공적으로 배포했지만, `Postman`을 통해 API를 호출해 보니 다음과 같은 오류가 발생했습니다error: connect econnrefused ✅ 해결 과정1️⃣ 서버에 실행 중인 java 프로세스 확인~$ ps aux | grep javaubuntu 5166 0.0 0.2 7076 2048 pts/0 S+ 10:02 0:00 grep --color=auto java출력 결과에서 `grep --color=auto java`만 보인다면, 현재 Java 프로세스가 실행되고 있지 않다는 것을 의미합니다.  2️⃣ jar 파일 있는지 확인~$ lscicdtest.jar o..
[BOJ/백준] 2597 계단 오르기(JAVA)
·
💪 Algorithm
링크https://www.acmicpc.net/problem/2579 문제 요약각 계단에 쓰여 있는 점수가 주어질 때 이 게임에서 얻을 수 있는 총점수의 최댓값 구하기계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다.연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다.마지막 도착 계단은 반드시 밟아야 한다. 제한첫째 줄에 계단의 개수 주어진다.300 이하의 자연수둘째 줄부터 한 줄에 하나씩 제일 아래에 놓인 계단부터 순서대로 각 계단에 쓰여 있는 점수가 주어진다.계단에 쓰여 있는 점수는 10,000 이하의 자연수풀이주어진 예제에 대해 최대 점수로 각 계단에 도착하는 방식은 아래와 같습니다.도착 계단1번2번3번4번5번6번경로11-22-31-2-41-2-4-51-2-..
[BOJ/백준] 1010 다리 놓기 (JAVA)
·
💪 Algorithm
링크https://www.acmicpc.net/problem/1010 문제 요약각 테스트 케이스에 대해 다리를 지을 수 있는 경우의 수 출력하기 강의 서쪽에는 N개, 동쪽에는 M개의 사이트가 있다.다리끼리 서로 겹칠 수 없다.서쪽의 사이트 개수만큼 (N개) 다리를 지으려고 한다. 제한입력의 첫 줄에는 테스트 케이스의 개수 T가 주어짐그다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M 이 주어짐0 풀이보시면 시간제한이 0.5초로 매우 짧습니다. 그렇기 때문에 모든 경우를 탐색하며 문제를 풀면 안 됩니다. N개의 사이트를 기준으로 다리를 짓기 때문에 N 값이 동일할 때 예제를 살펴보겠습니다.`[N=2일 때]`M=2: 1M=3: 3M=4: 6M=5: 10M=6: 1..
[BOJ/백준] 13023 ABCDE(JAVA)
·
💪 Algorithm
링크https://www.acmicpc.net/problem/13023 문제 요약0번~N-1번 사람 중 아래와 같은 친구 관계를 가진 사람 A, B, C, D, E가 존재하는지 구하기A는 B와 친구다.B는 C와 친구다.C는 D와 친구다.D는 E와 친구다. 제한첫째 줄에 사람의 수 N, 친구 관계의 수 M5 ≤ N ≤ 20001 ≤ M ≤ 2000둘째 줄부터 M개의 줄에는 정수 a와 b가 주어지며, a와 b가 친구라는 뜻이다.0 ≤ a, b ≤ N-1, a ≠ b같은 친구 관계가 두 번 이상 주어지는 경우는 X문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. 풀이경로의 특징을 저장해야 하는 문제로, DFS로 문제를 풀어야 합니다.모든 정점에 대해 dfs를 수행한다.시작점은..
[BOJ/백준] 2178 미로 탐색(JAVA)
·
💪 Algorithm
링크https://www.acmicpc.net/problem/2178 문제 요약미로 배열이 주어졌을 때, (1,1)에서 출발하여 (N, M)으로 이동할 때 지나야 하는 최소의 칸 수 구하기1은 이동할 수 있는 칸, 0은 이동할 수 없는 칸을 의미한다. 제한첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다.다음 N개의 줄에는 M개의 정수로 미로가 주어진다.각각의 수들은 붙어서 입력으로 주어진다. 풀이문제에서 (1,1)이라고 주어졌는데, 이는 배열에서 (0,0) 값을 의미합니다.따라서 왼쪽 맨 위에서 오른쪽 맨 아래로 이동하는 것이 목표입니다. [입력]평소와 다르게 각각의 수들이 붙어서 주어집니다. 그래서 StringTokenizer를 사용할 수 없습니다.가장 쉽게 떠올릴 수 있는 입력 방..
[BOJ/백준] 1931 회의실 배정(JAVA)
·
💪 Algorithm
링크https://www.acmicpc.net/problem/1931 문제 요약회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수 구하기 제한첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다.둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어지는데 이것은 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다.시작 시간과 끝나는 시간은 231-1보다 작거나 같은 자연수 또는 0이다. 풀이회의의 수가 최대 10^6이므로 시간 복잡도가 `O(N log N)`을 넘으면 안 됩니다. 회의를 최대한 많이 선택하려면 어떤 기준으로 풀어야 할까요?핵심은 회의 종료 시간이 빠를수록 선택할 수 있는 회의가 많아진다입니다.끝나는 시간을 기준으로 오름차순으로 정렬한다.끝나는 시간이 같다..
[BOJ/백준] 2573 빙산 (JAVA)
·
💪 Algorithm
링크https://www.acmicpc.net/problem/2573 문제 요약N*M 크기 배열의 각 칸에는 빙산 또는 바다(0)가 있다.각 빙산 칸에는 빙산의 높이 정보가 주어진다.동서남북으로 붙어있는 칸들은 서로 연결되어 있는 한 덩어리로 취급한다.빙산의 높이는 일 년마다 동서남북 네 방향으로 바다가 접해있는 개수만큼 줄어든다. 처음에 한 덩어리의 빙산이 주어질 때, 이 빙산이 두 덩어리 이상으로 분리되는 최초의 시간(년) 구하기 제한첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다.N과 M은 3 이상 300 이하이다.그다음 N개의 줄에는 각 줄마다 배열의 각 행을 나타내는 M개의 정수가 한 개의 빈칸을 사이에 두고 주어진다.각 칸에 ..