[프로그래머스] 양과 늑대
·
코딩테스트/문제풀이
https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제2진 트리에서 각 노드에 늑대(1)와 양(0)이 한 마리씩 위치하고 있으며, 각 노드를 방문할 때마다 해당 노드에 있던 양과 늑대를 데리고 다니게 된다. 만약 모은 늑대의 수가 양의 수 이상이 되면 늑대가 모든 양을 잡아먹는다. 이때 루트 노드(0, 무조건 양)에서 출발하여 각 노드를 돌아다니면서 최대한 양을 많이 모을 수 있는 수를 구한다.조건1. info[i]는 i번 노드에 있는 양 또는 늑대 (0: 양, 1: 늑대)2. info[0]은 항상 0..
[k-mooc/네트워크] 06. IP 주소의 응용
·
CS/네트워크
https://lms.kmooc.kr/course/view.php?id=5858 K-MOOC www.kmooc.kr[K-MOOC] 네트워크 기초/안성진 강의 정리출처 없는 이미지는 강의에서 캡처 01. IP 주소와 서브넷01.1 IP 주소IP 주소는 인터넷 프로토콜(IP)에서 사용하는 주소로, 인터넷이라는 거대한 네트워크 속에서 특정 장치를 유일하게 식별하는 식별자 역할을 한다. 전화망(PSTN)에서 각 전화기가 전화번호로 구별되는 것처럼 인터넷에서는 각 컴퓨터와 장치가 IP 주소로 구별된다. 이를 통해 송신자와 수신자를 구별할 수 있게 된다.현재 대부분 사용하는 것은 32비트(4바이트) IP 주소로 시스템 연결마다 하나씩 할당된다. 우리나라에서는 한국인터넷진흥원(KISA)가 IP 주소를 관리 및 할당..
[프로그래머스] 완전 범죄
·
코딩테스트/문제풀이
https://school.programmers.co.kr/learn/courses/30/lessons/389480 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제도둑 A와 도둑 B가 경찰에 붙잡히지 않고 모든 물건을 훔쳐야 한다. 이때 도둑 A가 남긴 누적 흔적의 최솟값을 구한다.만약 두 도둑 모두 경찰에 붙잡히지 않고 모든 물건을 훔칠 수 없으면 -1을 반환한다. 조건1. 각 물건을 도둑이 훔쳤을 때 남기는 흔적의 개수는 도둑 A는 `info[i][0]`, 도둑 B는 `info[i][1]`이다.2. 도둑 A는 n 미만으로 흔적을 남길 수 있고, 도둑 B는 m 미만으로 흔적을 남길 수 있다. 처음 접근:..
[프로그래머스] 홀짝 트리
·
코딩테스트/문제풀이
https://school.programmers.co.kr/learn/courses/30/lessons/388354 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr요즘 너무 알고리즘 위주로 푼 것 같아서 마침 플머에 코드챌린지 문제가 올라왔길래 차례로 풀고 있다. (쉽지 않음) 문제1개 이상의 트리 - 여러 트리가 모인 포레스트가 주어지며, 각 노드는 서로 다른 번호를 가진다.이때 각 노드는 네 가지 종류 중 하나가 된다: 노드 번호자식 노드 개수홀수 노드홀수홀수짝수 노드짝수짝수역홀수 노드홀수짝수역짝수 노드짝수홀수 문제에서 구하고자 하는 것은 각 트리에 대해 루트 노드를 설정했을 때, (1)홀짝 트리 개수와 (2..
[백준] 1854. K번째 최단 거리
·
코딩테스트/문제풀이
https://www.acmicpc.net/problem/1854이번에도 논리 점프로 인해 스스로 “왜 이러는데”라고 물어보면 “그냥..;;”의 반복이라서 스스로를 납득시키기 위해 생각해봤다. ➡️ 1번 도시에서 각 도시에 대한 k번째 최단경로의 소요시간을 구해야 한다. 문제를 처음 읽어보면,출발점은 1번 도시에서 고정되고, 각 도시에 도착하는 (k번째) 최단 경로의 소요시간을 구하라고 한다. 그러면 자연스럽게 떠오르는 건 모든 도시에 대한 최단 경로를 구하는 다익스트라 알고리즘이다.다익스트라는 가장 짧은 경로(1번째 최단 경로)만 구해주는데… 여기서는 k번째 최단 경로를 구해야 한다. 🫨 생각해본다... 생각난 알고리즘을 기반으로 생각해본다.“어떻게든 다익스트라 알고리즘을 수정하면 되지 않을까”..
[백준] 9084. 동전
·
코딩테스트/문제풀이
https://www.acmicpc.net/problem/9084 예전에 프로그래머스에서 비슷한 문제를 푼 적이 있는데 그 때 날림으로 풀고 지나갔더니 다시 푸니까 머리에 안개낀 기분그래서 이번엔 확실하게 이해하려고 노력해봤다 ➡️ 주어진 동전 종류를 가지고 주어진 금액을 만들 수 있는 모든 경우의 수를 구해야 한다. 동전 한 종류만 생각했을 때, 2원짜리 동전으로 12원을 만드는 방법은: 2+2+2+2+2+2 딱 1가지가 된다. 즉 2원을 사용해서 p원을 만드는 경우의 수는 p-2원을 만드는 방법의 개수와 같다. (일단 이게 핵심이다)갑자기 논리 점프라고 생각할 수 있는데... 🥲 다시 차근차근 생각해보면,12원을 만들건데 2원을 꼭 쓰고싶다면 10원+2원 구성이 된다. 그럼 12원을 만들 수 있는..
[k-mooc/네트워크] 05. 이동통신과 인터넷프로토콜
·
CS/네트워크
https://lms.kmooc.kr/course/view.php?id=5858 K-MOOC www.kmooc.kr[K-MOOC] 네트워크 기초/안성진 강의 정리모든 이미지는 강의에서 캡처 01. 이동전화와 위성네트워크01.1 이동전화이동전화의 서비스 영역은 Cell(셀)이라고 불리는 작은 단위로 나뉜다. 각 셀은 하나의 기지국(Base Station)에 의해 제어되며, 이동전화와 기지국은 해당 셀 안에서 무선으로 전파를 주고받는다. 우리가 스마트폰을 사용할 때, 해당 지역을 담당하는 기지국과 통신하게 된다. 즉 기지국을 중심으로 형성되는 가상의 서비스 영역이 곧 셀이다.이동전화가 이동할 때 단말기는 주기적으로 기지국과 신호를 교환하면서 "어디에 위치하고 있는지"를 알리고, 전화를 걸거나 받을 때 기지국..
[k-mooc/네트워크] 04. 무선 LAN과 네트워크 연결장치
·
CS/네트워크
https://lms.kmooc.kr/course/view.php?id=5858 K-MOOC www.kmooc.kr[K-MOOC] 네트워크 기초/안성진 강의 정리모든 이미지는 강의에서 캡처 01. 무선 LAN 01.1 무선 LAN 구조무선 LAN 구조는 AP(Access Point)라는 장치를 중심으로 생각한다. 우리가 흔히 사용하는 IP 공유기가 AP 역할을 하는데, 집이나 카페에서 보이는 와이파이 이름을 선택해서 연결하는 행위가 바로 AP를 통해 무선 LAN을 사용하는 과정이다. 이렇게 AP를 통해 연결되는 방식을 Infrastructure 모드라고 부른다. 이 모드에서는 모든 무선 기기가 AP를 거쳐 데이터를 주고받게 된다. 반대로 AP가 없는 환경에서는 무선 기기끼리 직접 데이터를 주고받는데 이를..
[k-mooc/네트워크] 03. LAN 매체와 유선 LAN 🌟
·
CS/네트워크
https://lms.kmooc.kr/course/view.php?id=5858 K-MOOC www.kmooc.kr[K-MOOC] 네트워크 기초/안성진 강의 정리 01. LAN에서 사용하는 매체✅ 전송 매체란 에너지를 전달하는 물질을 의미한다.전송 매체는 쉽게 말해 데이터를 주고받을 때 신호가 지나가는 길이라고 생각할 수 있다. 우리가 전기를 보낼 때 전선이 필요하듯이, 컴퓨터에서 데이터를 보낼 때도 그 데이터를 실어나르는 통로가 필요하다. 이 통로 역할을 하는 물질이나 환경을 전송 매체라고 부른다. 즉 데이터를 보내는 송신자와 받는 수신자 사이에서 신호를 전달하는 모든 것을 통틀어 매체라고 한다.전송 매체는 크게 두 가지로 나눌 수 있다. 하나는 선을 이용하는 방식이고 다른 하나는 선 없이 신호를 전달..
[백준] 5719. 거의 최단 경로
·
코딩테스트/문제풀이
https://www.acmicpc.net/problem/5719 문제최단 경로에 포함되는 도로를 제외하고 구할 수 있는 최단 거리(거의 최단 경로)를 구한다. 흐름최단 거리를 구한다.최단 거리에 포함되는 도로를 없앤다.남은 도로로 다시 최단 거리를 구한다. 구조화1. 최단 거리를 구하면서 경로를 저장한다.다익스트라 알고리즘으로 최단 거리를 구하면서 + 그 경로에 포함되는 도로를 따로 저장해야 한다. 🤔 그럼 도로를 언제 저장할건데일단 다익스트라 알고리즘 구조를 생각했을 때:while(!pq.isEmpty()) { 큐에서 꺼낸 노드에 방문한다. 현재 노드와 인접한 노드를 차례로 탐색하면서: 더 짧은 거리를 발견하면: (최적값을 발견했으므로) 새로 계산한 값으로 갱신한다. 그리고 해당 인접 노..