[프로그래머스] 완전 범죄
·
코딩테스트/문제풀이
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()) { 큐에서 꺼낸 노드에 방문한다. 현재 노드와 인접한 노드를 차례로 탐색하면서: 더 짧은 거리를 발견하면: (최적값을 발견했으므로) 새로 계산한 값으로 갱신한다. 그리고 해당 인접 노..
[k-mooc/네트워크] 02. 스위칭과 다중 접속 프로토콜
·
CS/네트워크
https://lms.kmooc.kr/course/view.php?id=5858 K-MOOC www.kmooc.kr[K-MOOC] 네트워크 기초/안성진 강의 정리 01. 스위칭 방법과 종류01.1 스위칭의 필요성네트워크는 노드(장치)와 링크(선)로 구성된다. 노드끼리 데이터를 주고받으려면 서로 연결해주는 링크가 필요하지만, 노드가 많아질수록 연결에 필요한 선의 수가 급격히 늘어나 비용이 많이 발생하게 된다.또한 이렇게 연결된 선들 중 실제로 데이터를 전송하는 선만 사용되고, 나머지 선은 사용되지 않고 유휴 상태가 되기 때문에 효율이 낮아진다.즉 모든 노드를 서로 선으로 연결하는 방식은 비효율적이다.이러한 문제를 해결하기 위해, 모든 노드를 서로 직접 연결하는 방식 대신 여러 노드를 스위치(Switch)에..
[백준] 1939. 중량제한
·
코딩테스트/문제풀이
https://www.acmicpc.net/problem/1939 🎯 문제 정리섬 N개가 다리로 연결되어 있고, 다리마다 최대 무게 제한이 있다. (2 ≤ N ≤10^4)섬A → 섬B로 짐을 옮길 때, 한 번에 옮길 수 있는 최대 무게를 구해야 한다.여러 경로가 있으면 전체 경로 무게는 그 경로에서 가장 작은 다리 무게 제한으로 결정된다. ⭐️이 때의 무게 제한을 구한다. 예시를 기반으로 흐름 정리주어진 조건에 따르면, 1번 섬에 있는 공장에서 2번 섬에 있는 공장으로 가는 경로 중 최대로 짐을 실을 수 있는 경로를 찾고, 그 경로에서 요구하는 무게 제한을 반환해야 한다.그러면 여기서 우선 순위를 생각해봤을 때, 어떤 섬A → 섬B 경로가 여러 개가 있을 경우 우선시되는 쪽은 경로 중 가장 많이 짐을..