전체 글(303)
-
특수 권한 [SETUID, SETGID, STICKY BIT]
SETUID SETGID STICKY BIT 리눅스 특수권한은 3가지가 있다. 3가지 특수권한 모두 파일 실행에 관련된 기능[x, excute]으로 사용된다. 실행권한 자리 x대신에 SETUID->s[USER 권한], SETGID->s[GROUP 권한], STICKYBIT->t[OTHER 권한]가 들어간다. x 권한이 없는 경우에는 대문자 기호가 들어간다. 기존권한인 read[r], write[w], execute[x] 가 4, 2, 1 인 것과 같이 특수권한 역시 SETUID[s] -> 4, SETGID[s] -> 2, STICKY BIT[t] -> 1 의 값을 가진다. 특수권한을 부여하는 방법으로는 문자형태, 숫자형태로 구분이 된다. 두 방법 모두 chmod라는 명령해서 접근을 해야된다. 문자명령형식..
2022.05.12 -
11724 [DFS]
문제 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어진다. 출력 첫째 줄에 연결 요소의 개수를 출력한다. 예제 입력 1 복사 6 5 1 2 2 5 5 1 3 4 4 6 예제 출력 1 복사 2 예제 입력 2 복사 6 8 1 2 2 5 5 1 3 4 4 6 5 4 2 4 2 3 import sys sys.setrecursionlimit(10 ** 6) # 파이썬에서 재귀는 1000번제..
2022.05.11 -
10815 [이분탐색]
문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 두 숫자 카드에 같은 수가 적혀있는 경우는 없다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 가지고 있는 숫자 카드인지 아닌지를 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이..
2022.05.11 -
2512 [파라메트릭 서치]
문제 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것이다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있다. 그래서 정해진 총액 이하에서 가능한 한 최대의 총 예산을 다음과 같은 방법으로 배정한다. 모든 요청이 배정될 수 있는 경우에는 요청한 금액을 그대로 배정한다. 모든 요청이 배정될 수 없는 경우에는 특정한 정수 상한액을 계산하여 그 이상인 예산요청에는 모두 상한액을 배정한다. 상한액 이하의 예산요청에 대해서는 요청한 금액을 그대로 배정한다. 예를 들어, 전체 국가예산이 485이고 4개 지방의 예산요청이 각각 120, 110, 140, 150이라고 하자. 이 경우, 상한액을 127로 잡으면, 위의 요청들에 대해서 각각 120, 1..
2022.05.11 -
Unicast & Broadcast & Multicast
○ Unicast 현재 가장 보편적으로 사용하는 통신방법이고 목적이 address 하나만 적어서 목표 pc에만 보내는 방식이다. 유니캐스트는 기본적으로 1:1 통신방법을 사용한다. 데이터를 보낼 PC1의 출발지 MAC address에 자신의 주소를 넣고 데이터를 받을 PC2 목적지 MAC address에 PC2의 주소를 넣어 프레임 안에 저장을 하여 전송한다. 로컬 이더넷의 특성 상 일단 자신과 연결된 모든 PC들에 프레임을 뿌리게 된다. 프레임을 받은 PC들은 자신의 MAC address 와 비교하게 되는데 받은 프레임의 목적지의 MAC address와 자신의 랜카드 MAC address가 서로 일치하다면 랜카드는 받은 프레임을 CPU로 전달하고 다르다면 받은 프레임을 드롭하게 된다. 이로 인해 MAC..
2022.05.10 -
11047 [그리디]
문제 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 예제 입력 1 복사 10 4200 1 5 10 50 100 500 1000 5000 10000 50000 예제 출력 1 복사 예제 입력 2 복사 10 4790 1 5..
2022.05.06