본문 바로가기
반응형

프로그래밍493

[프로그래머스 Programmers] 네트워크 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어 있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers.. 2023. 8. 24.
그래프(Graph)와 트리(Tree) 그래프(Graph)란 무엇인가? 그래프는 노드(하나의 점)와 노드 간을 연결하는 간선으로 구성된 자료구조이다. 이를 통해 연결된 노드 간의 관계를 표현할 수 있다. 그래프의 특징 그래프는 순환 혹은 비순환 구조를 이룬다. 그래프는 방향이 있는 그래프와 방향이 없는 그래프가 있다. 루트 노드의 개념이 없다 / 부모-자식 관계라는 개념이 없다. 2개 이상의 경로가 가능하다. (무방향, 방향, 양방향 가능) 그래프는 네트워크 모델이다. 트리(Tree)란 무엇인가? 트리는 그래프와 같이 노드와 노드 간을 연결하는 간선으로 구성된 자료구조이다. 그러나 트리는 그래프 중에서도 특수한 케이스에 해당하는 자료구조로 두 개의 노드 사이에 반드시 1개의 경로만을 가지며 사이클이 존재하지 않는 방향 그래프이다. 이러한 특성.. 2023. 8. 23.
이더넷(Ethernet)이란 무엇인가? 이더넷(Ethernet)이란? 이더넷은 원칙적으로 하나의 인터넷 회선에 유/무선 통신장비 공유기, 허브 등을 통해 다수의 시스템이 랜선 및 통신포트에 연결되어 통신이 가능한 네트워크 구조를 말한다. 인터넷에 가입해서 설치 기사님이 방문해서 설치해준 모뎀에 랜선으로 공유기를 연결하는 보통의 가정집이 구성한 네트워크 구조가 이더넷(Ethernet)이다. Ethernet은 전 세계 학교, 가정, 사무실에서 가장 많이 활용되는 네트워크 규격이다. OSI 모델 7 계층 중 물리 계층(신호와 배선)과 데이터 링크 계층(MAC 패킷, 프로토콜 형식)에서 그 구성 형식이 정의된다. Internet은 여러 네트워크를 전세계적으로 연결한 컴퓨터 네트워크를 말한다. 네트워크는 우리 집에 있는 가정용 네트워크가 있고 학교용,.. 2023. 8. 23.
TCP 소켓의 입출력 버퍼 TCP 소켓 입출력 버퍼란? TCP 소켓의 데이터 송수신에는 경계가 없다. 예를 들어, 송신 측에서 write() 함수로 여러 데이터를 보내도 수신 측에서는 read() 함수 한 번으로 그 데이터를 수신할 수 있다. 또 송신 측에서 write() 함수로 용량이 큰 데이터를 보내도 수신 측에서 read() 함수로 그 데이터를 여러 번에 나눠서 수신할 수도 있다. (1대 1로 매핑되지 않는다.) 송신 측에서 100 bytes의 데이터를 보냈을 경우 수신자는 20 bytes씩 다섯 번에 나누어 수신할 수 있다는 뜻이다. 그런데 20bytes의 데이터를 수신하는 동안 나머지 80 bytes의 데이터는 어디에 있어야 할까? (네트워크 상에 떠있을 수는 없다.) 또한, 송신자가 100bytes의 데이터를 20 by.. 2023. 8. 23.
[프로그래머스 Programmers] 소수 만들기 문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 소수 만들기 소수 만들기 문제를 풀어보자. 이 문제를 풀기 위해서 순열과 조합에 대해서 먼저 공부하였다. n개의 배열에서 r개의 원소를 선택하는 조합 작성하면 나머지는 간단하게 구현이 가능하다. 작성 코드 using System; class Sol.. 2023. 8. 21.
순열(Permutation)과 조합(Combination) 순열(Permutation)이란? 순열이란, 쉽게 말해서 순서를 정해서 나열하는 것을 말한다. 서로 다른 n개에서 r개를 택하여 일렬로 나열할 때, 첫 번째 자리에 올 수 있는 것은 n가지이고, 그 각각에 대하여 두 번째 자리에 올 수 있는 것은 첫 번째 자리에서 선택된 1개를 제외한 (n - 1) 가지, 세 번째 자리에 올 수 있는 것은 앞에서 선택된 2개를 제외한 (n - 2) 가지이다. 이와 같은 방법으로 계속하며 r번째 자리에 올 수 있는 것은 이미 선택된 (r - 1) 개를 제외한 n - (r - 1) = n - r + 1(가지) 이다. 순열에서 P란 Permutation의 첫글자를 줄여서 P로 나타낸다. nPr을 계산하는 방법은 배열의 순서를 생각하여 첫 번째에는 나올 수 있는 경우의 수가 n.. 2023. 8. 21.