b24445. 알고리즘 수업 - 너비 우선 탐색 2
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/24445   📌 자바(Java)로 푸는 너비 우선 탐색(BFS) - 백준 24445 문제 풀이 🚀🔎 문제 개요이 문제는 백준 24445번 - 알고리즘 수업 - 너비 우선 탐색 2 문제입니다.기본적인 BFS(너비 우선 탐색) 과정은 24444번과 동일하지만,이번에는 정점 방문 순서를 내림차순으로 정렬해야 합니다.💡 예제 입력5 5 11 41 22 32 43 4💡 예제 출력14325➡ BFS 탐색 시 정점을 큰 숫자부터 방문하도록 구현해야 합니다.🛠 알고리즘 접근 방식이 문제를 해결하는 방식은 24444번 문제와 동일하지만,각 정점의 인접 리스트를 내림차순(Collections.reverseOrder())으로 정렬해야 합니다.🔹 Java..
Lv 3. 보행자 천국
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/1832 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 보행자 천국 문제 풀이 🚦🔎 문제 개요이 문제는 프로그래머스 - 보행자 천국 문제입니다.주어진 도시 지도(cityMap[][]) 에서 출발점(0,0)에서 도착점(m-1, n-1)까지 가는 경로의 개수를 구하는 문제입니다.특정한 규칙(통행 불가 지역, 직진만 가능한 도로 등)이 존재하며,경로의 개수를 MOD(20170805)로 나눈 나머지를 출력해야 합니다.💡 예제 입력int m = 3;int n = 6;int..
b24444. 알고리즘 수업 - 너비 우선 탐색 1
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/24444   📌 자바(Java)로 푸는 너비 우선 탐색(BFS) - 백준 24444 문제 풀이 🚀🔎 문제 개요이 문제는 백준 24444번 - 알고리즘 수업 - 너비 우선 탐색 1 문제입니다.주어진 그래프를 너비 우선 탐색(BFS) 하면서 방문 순서를 기록해야 합니다.각 정점은 오름차순으로 방문해야 하며, 방문 순서는 result[] 배열에 저장해야 합니다.💡 예제 입력5 5 11 41 22 32 43 4💡 예제 출력12345➡ 1번 정점부터 BFS 탐색하며 방문 순서를 출력해야 합니다.🛠 알고리즘 접근 방식이 문제를 해결하기 위해 BFS(너비 우선 탐색) + 정렬을 활용합니다.✏️ 주요 고려 사항✔ BFS를 사용하여 그래프를 탐색✔ 간..
Lv 3. 기둥과 보
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 기둥과 보 설치 문제 풀이 🚀🔎 문제 개요이 문제는 프로그래머스 - 기둥과 보 설치 문제입니다.주어진 명령에 따라 기둥과 보를 설치하거나 삭제해야 합니다.설치 조건을 만족하는 경우만 설치할 수 있으며, 삭제 후에도 구조물이 유지되는 경우만 삭제 가능합니다.💡 예제 입력int n = 5;int[][] build_frame = { {1, 0, 0, 1}, {1, 1, 1, 1}, {2, 1, 0..
OSI 7계층 & TCP/IP 4계층
·
CS/네트워크
🖧 OSI 7계층 & TCP/IP 4계층 완전 정복 🌍네트워크에서 데이터가 어떻게 이동하는지 제대로 이해하려면 OSI 7계층과 TCP/IP 4계층을 깊이 파악해야 한다!단순한 암기가 아니라, 각 계층이 왜 존재하는지, 어떤 역할을 하는지, 실제로 무슨 일이 벌어지는지까지 쉽게 알아보자!🌎 OSI 7계층: 네트워크 통신을 단계별로 나눈 모델OSI 7계층 모델은 네트워크에서 데이터를 전송할 때 일어나는 과정을 단계별로 정리한 개념 모델이다.각 계층은 독립적으로 동작하지만, 서로 협력하여 데이터를 송수신한다.데이터는 위에서 아래로 캡슐화(Encapsulation) 과정을 거치고, 반대로 아래에서 위로 역캡슐화(Decapsulation) 된다.🏗 OSI 7계층 자세히 알아보기  계층   역할 & 설명 7..
b24480. 알고리즘 수업 - 깊이 우선 탐색 2
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/24480   📌 자바(Java)로 푸는 깊이 우선 탐색(DFS) - 백준 24480 문제 풀이 🚀🔎 문제 개요이 문제는 백준 24480번 - 깊이 우선 탐색 2 문제입니다.주어진 그래프를 깊이 우선 탐색(DFS)하며 방문 순서를 기록해야 합니다.단, 내림차순(큰 숫자부터) 으로 방문해야 한다는 점이 특징입니다.💡 예제 입력5 5 11 41 22 32 43 4💡 예제 출력14320➡ 1번 정점부터 내림차순으로 DFS 탐색하며 방문 순서를 출력해야 합니다.🛠 알고리즘 접근 방식이 문제를 해결하기 위해 DFS(깊이 우선 탐색) + 정렬을 활용합니다.✏️ 주요 고려 사항✔ DFS를 사용하여 그래프를 탐색✔ 간선 정보를 저장할 때 내림차순으로 ..
Lv 2. 양궁대회
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/challenges?order=acceptance_desc&levels=2%2C3%2C4&languages=java&page=7 코딩테스트 연습 | 프로그래머스 스쿨개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!school.programmers.co.kr   📌 자바(Java)로 푸는 양궁대회 문제 풀이 🚀🔎 문제 개요이 문제는 프로그래머스 - 양궁대회 문제입니다.라이언이 화살 n개를 사용하여 어피치보다 높은 점수를 얻는 방법을 찾아야 합니다.단, 어피치의 화살 기록(info[])이 주어지며, 점수 차이가 가장 큰 경..
b3015. 오아시스 재결합
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/3015   📌 자바(Java)로 푸는 오아시스 재결합 문제 풀이 🚀🔎 문제 개요이 문제는 백준 3015번 - 오아시스 재결합 문제입니다.주어진 사람들의 키 정보를 기반으로 서로 볼 수 있는 쌍의 개수를 구하는 문제입니다.💡 예제 입력72412251💡 예제 출력10🛠 알고리즘 접근 방식이 문제를 해결하기 위해 스택(Stack) 을 활용한 O(N) 최적화 방법을 사용합니다.✏️ 주요 고려 사항✔ 각 사람의 키(h)를 기준으로 볼 수 있는 사람의 쌍을 계산해야 합니다.✔ 스택을 활용하여 효율적으로 볼 수 있는 쌍을 계산할 수 있습니다.✔ 스택에는 항상 오름차순으로 저장하여, 현재 키보다 작거나 같은 사람을 볼 수 있도록 합니다.✔ 같은 키를..
네트워크 분류 & 패킷
·
CS/네트워크
🌎 네트워크의 분류네트워크는 연결 범위나 메시지를 교환하는 방식에 따라 다양한 방식으로 분류할 수 있다. 이를 이해하면 보다 적절한 네트워크 구조를 선택할 수 있다. 🔍🏠 네트워크 범위에 따른 분류네트워크는 연결 범위에 따라 크게 다음과 같이 나뉜다.1️⃣ LAN (Local Area Network)가까운 지역을 연결하는 근거리 통신망일반적으로 건물 내, 회사, 학교 등의 내부 네트워크데이터 전송 속도가 빠르고, 네트워크 관리가 용이함예시: 사무실 내부 네트워크, 가정용 Wi-Fi 네트워크2️⃣ WAN (Wide Area Network)먼 지역을 연결하는 광역 통신망인터넷이 대표적인 WAN서로 다른 LAN이 연결될 때 필요장거리 통신이 가능하지만 속도는 LAN보다 상대적으로 느림예시: 국가 간 인터..
네트워크란?
·
CS/네트워크
🖧 네트워크를 이해해야 하는 이유 📱 요즘 스마트폰 앱 중 인터넷 없이 온전히 작동하는 앱이 얼마나 될까? 거의 대부분의 앱은 인터넷이 연결되어야만 제대로 동작한다. 그래서, 이런 앱을 개발하는 사람이라면 컴퓨터 네트워크에 대한 기본적인 이해가 필요하다. 네트워크 개념을 알면 데이터를 주고받는 원리를 파악하고, 더 안정적이고 효율적인 서비스를 만들 수 있다.🌍 컴퓨터 네트워크란?네트워크는 여러 개의 노드(Node)가 연결된 구조로, 마치 그래프(Graph)처럼 생겼다. 📊 이 연결 덕분에 우리는 데이터를 주고받을 수 있다.🌐 인터넷이란?인터넷은 쉽게 말해 네트워크들의 네트워크다. 단순한 개별 네트워크가 아니라, 여러 개의 네트워크가 서로 연결되어 데이터를 주고받을 수 있는 거대한 시스템이다. 즉..