진법
- 자릿값
- 2진수 2k, 8진수 8k, 16진수 16k
- 10진수로
- Σ dk·bk
- 10진수에서
- 기수로 나누고, 나머지를 아래에서 위로 읽음
- 16진수 ↔ 2진수
- 16진수 한 자리 = 4비트
- 2의 보수
- 비트를 반전하고 1을 더함
공식 모음, 모든 주제의 핵심 풀이 단계, 연습 문제 20개가 들어 있으며 전체 풀이는 맨 뒤에 있습니다.
8비트 2의 보수로 −60을 저장하도록 비트를 설정하세요. 부호 없는 수로 읽으면 패턴의 값 U은 얼마입니까?
압축하지 않은 이미지가 256 × 256 픽셀이고 픽셀당 24비트입니다. 메모리 M를 몇 KiB(1 KiB = 1024바이트) 차지할까요?
b ↔ a와(과) 논리적으로 동치인 식은 어느 것인가? 클릭하세요.
진리표의 16개 행 중 몇 개에서 ((s ↔ q) ∧ q) ∧ ((s → r) → (r → p))이(가) 참인가? 이 수를 N(이)라 하자.
카르노 맵으로 F(A, B, C, D) = Σm(0, 2, 3, 7, 13, 14, 15)의 최소 합의 곱(POS) 형태를 구하시오. 합항(인수)은 몇 개(N)인가?
mod-10 카운터를 최소 개수의 플립플롭으로 만들었다. 가능한 상태 중 사용되지 않는 것은 몇 개(U)인가?
11x ≡ 10 (mod 13)을(를) 푸시오. 0 < x < 13인 해 x을(를) 구하시오.
RSA 키가 소수 p = 13, q = 41과 공개 지수 e = 13를 쓴다. 개인 지수 d(0 < d < φ(n))을(를) 구하시오.
퀵 정렬이 항상 첫 원소를 피벗으로 사용합니다. 어떤 입력에서 최악의 경우 동작을 보입니까?
새 문제 X가 NP-hard임을 보이려면 무엇을 해야 합니까?
배열에 저장된 이진 최소 힙(인덱스는 0부터 시작)에서 인덱스 i인 노드의 자식은 어디에 있습니까?
n개의 수로 된 배열에 대한 펜윅 트리(Fenwick tree, 이진 인덱스 트리)는 어떤 연산을 O(log n)에 지원합니까?
완전그래프 K8의 서로 다른 해밀턴 회로는 몇 개(H)인가? 시작 정점이나 방향만 다른 회로는 같은 것으로 센다.
A에서 출발해 같은 정점으로 돌아오는 길이 2의 닫힌 보행은 몇 개인가? 보행에서는 정점과 간선이 반복될 수 있다. 그 수를 N(이)라 하자.
제2정규형(2NF)이 제거하는 것은 무엇입니까?
트랜잭션 T1은 행 A를 잠그고 행 B를 기다리며, T2는 행 B를 잠그고 행 A를 기다립니다. 일반적인 DBMS는 어떻게 합니까?
스위치는 일반적으로 OSI의 어느 계층에서 동작합니까?
인터넷에서 BGP의 주된 역할은 무엇입니까?
어느 부서가 한 서브넷에 호스트 주소 14개가 필요합니다. 충분한 가장 긴 접두사 길이 p(가장 작은 서브넷)는 얼마일까요?
라우터에 다음 네트워크로의 경로가 있습니다: 10.246.112.0/24, 10.246.113.0/24, 10.246.114.0/24, 10.246.115.0/24, 10.246.116.0/24, 10.246.117.0/24, 10.246.118.0/24, 10.246.119.0/24. 이들을 모두 포함하는 단일 요약 경로의 가장 긴 접두사 길이 p는 얼마일까요?
답: U = 196
비트 설정: 각 비트는 2의 거듭제곱(128, 64, …, 1)의 값을 가집니다. 16진수 한 자리는 정확히 네 비트이고, 8비트 2의 보수에서 맨 왼쪽 비트의 값은 −128입니다. 비트 연산은 각 비트 자리를 따로 처리합니다.
답: M = 192 KiB
위치 기수법: 각 자리의 값은 그 숫자에 밑의 거듭제곱을 곱한 것입니다. 2진수의 자리값은 1, 2, 4, 8, 16, …, 16진수는 1, 16, 256, …이며 A–F는 10–15를 뜻합니다. 8비트 2의 보수에서 가장 왼쪽 비트는 +128이 아니라 −128의 값을 가지며, 이렇게 음수를 저장합니다.
답: (b → a) ∧ (a → b)
논리적 동치: 두 식은 진리표의 모든 행에서 값이 같으면 동치(≡)입니다. 항진명제는 모든 행에서 1이고, 모순은 모든 행에서 0이며, 우연명제는 둘 다 아닙니다. 유용한 법칙: 드모르간 법칙 ¬(a ∧ b) ≡ ¬a ∨ ¬b와 ¬(a ∨ b) ≡ ¬a ∧ ¬b, a → b ≡ ¬a ∨ b ≡ ¬b → ¬a(대우), ¬(a → b) ≡ a ∧ ¬b, 그리고 분배법칙 a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
막대 뒤의 열은 보기를 표시된 순서대로 나타낸 것입니다.
답: N = 3
진리표: 서로 다른 변수가 n개인 식은 참값(1 = 참, 0 = 거짓)의 모든 조합마다 하나씩 2ⁿ개의 행을 가집니다. 안쪽부터 바깥쪽으로 작업하고 모든 부분식에 각각 열을 주세요. ¬a는 값을 뒤집습니다. a ∧ b는 둘 다 1일 때만 1입니다. a ∨ b는 둘 다 0일 때만 0입니다. a → b는 a = 1이고 b = 0일 때만 0입니다. a ↔ b는 양쪽이 같을 때 1입니다.
답: N = 4
카르노 맵: 칸은 그레이 코드(00, 01, 11, 10) 순서로 배열되므로, 가장자리를 넘어 이웃한 칸을 포함해 이웃한 칸은 정확히 한 변수만 다릅니다. 모든 1이 덮일 때까지 1들을 1, 2, 4, 8, 16칸의 직사각형으로, 가능한 한 크고 가능한 한 적게 묶으세요. 각 그룹은 그 안에서 일정하게 유지되는 변수로 이루어진 곱항 하나입니다. 2ᵏ칸의 그룹은 변수 k개를 잃습니다. 무정의항(X)은 그룹을 키우는 데 쓸 수 있지만 반드시 덮을 필요는 없습니다. 0들을 묶으면 최소 POS 형태가 나옵니다.
모든 그룹은 2ᵏ칸의 직사각형입니다. 가장자리 칸은 반대쪽 가장자리의 칸과 이웃합니다.
같은 크기의 다른 묶음도 있으며, 항과 리터럴의 수는 같습니다.
답: U = 6
플립플롭과 카운터: 플립플롭은 클록의 활성 에지에서만 바뀝니다. D는 입력을 복사합니다(Q⁺ = D). T는 T = 1이면 토글합니다. JK는 00이면 유지, 01이면 리셋, 10이면 셋, 11이면 토글합니다. n비트 이진 카운터는 상태가 2ⁿ개이고 2ⁿ을 법으로 세며, mod-N 카운터는 0, 1, …, N − 1을 거쳐 다시 0으로 돌아가고 2ⁿ ≥ N인 가장 작은 n개의 플립플롭이 필요합니다. 리플 카운터는 단마다 주파수가 절반이 되므로 mod-N 카운터의 마지막 출력은 fclk/N으로 동작합니다. 플립플롭 n개의 존슨 카운터는 상태가 2n개, 링 카운터는 n개입니다.
답: x = 8
역원과 합동식: a는 gcd(a, n) = 1일 때, 그리고 그때에만 n을 법으로 하는 역원을 가집니다. 확장 유클리드 알고리즘은 1 = s·n + t·a로 쓰고, 그러면 a⁻¹ ≡ t (mod n)입니다. gcd(a, n) = 1인 합동식 a·x ≡ b (mod n)의 해는 x ≡ a⁻¹·b입니다. 법이 서로소인 두 합동식 x ≡ r₁ (mod m₁)과 x ≡ r₂ (mod m₂)는 m₁·m₂를 법으로 해가 하나 있습니다(중국인의 나머지 정리). 오일러 φ(n)은 1부터 n까지의 수 중 n과 서로소인 수의 개수입니다: φ(n) = n·∏(1 − 1/p).
답: d = 37
모듈러 거듭제곱과 RSA: aᵏ mod n은 반복 제곱법으로 계산합니다. k를 이진수로 쓰고, 제곱하고, 단계마다 나머지를 취하고, 비트가 1인 거듭제곱들을 곱하세요. 페르마: a를 나누지 않는 소수 p에 대해 aᵖ⁻¹ ≡ 1 (mod p)이므로 지수를 p − 1을 법으로 줄일 수 있습니다. RSA: 소수 p와 q를 고르고, n = p·q, φ(n) = (p − 1)(q − 1)입니다. 공개 지수 e는 φ(n)과 서로소이고 개인 지수는 d = e⁻¹ mod φ(n)입니다. c = mᵉ mod n으로 암호화하고 m = cᵈ mod n으로 복호화합니다.
답: B · 이미 정렬된 배열
정렬된 입력에서는 피벗이 항상 최솟값이므로 한쪽은 비고 다른 쪽에 n − 1개의 원소가 남아 O(n²)이 됩니다.
답: A · 알려진 NP-hard 문제를 다항 시간에 X로 환원한다
알려진 어려운 문제를 효율적으로 X로 변환할 수 있다면, X에 대한 빠른 알고리즘은 알려진 문제도 풀게 됩니다.
답: A · 2i + 1과 2i + 2
0부터 시작하는 배열에서 왼쪽 자식은 2i + 1, 오른쪽 자식은 2i + 2, 부모는 ⌊(i − 1)/2⌋에 있습니다.
답: A · 접두사 합 질의와 단일 원소 갱신
펜윅 트리는 각 인덱스의 하위 비트로 결정되는 범위의 부분합을 저장하므로 접두사 합과 점 갱신 모두 O(log n)이 걸립니다.
답: H = 2520
오일러, 해밀턴, 트리: 연결 그래프는 모든 정점의 차수가 짝수이면 오일러 회로(모든 간선을 한 번씩 지나 출발점으로 돌아옴)를 가지고, 차수가 홀수인 정점이 정확히 두 개이면 회로가 아닌 오일러 경로를 가집니다. 이 경로는 한 홀수 정점에서 다른 홀수 정점까지 이어집니다. 해밀턴 회로는 모든 정점을 한 번씩 방문하며, Kn에는 (n − 1)!/2개가 있습니다. 정점이 n개인 트리는 간선이 n − 1개이고, 간선이 m개인 연결 그래프는 m − n + 1개의 간선을 제거한 뒤에도 신장 트리를 유지합니다.
답: N = 2
차수: 정점의 차수는 그 정점에 닿는 간선의 수입니다. 모든 간선은 양 끝이 있으므로 차수의 합은 간선 수의 두 배입니다: Σ deg(v) = 2|E|(악수 보조정리). 따라서 차수가 홀수인 정점의 수는 짝수입니다. Kn은 간선이 n(n − 1)/2개이고, 정점이 n개인 k-정규그래프는 nk/2개이며, 정점이 n개인 트리는 간선이 n − 1개입니다.
답: B · 복합 키의 일부에 대한 비키 열의 부분 종속
2NF는 1NF를 만족하고, 모든 비키 속성이 키의 일부가 아닌 키 전체에 종속될 것을 요구합니다.
답: C · 교착 상태를 감지하고 한 트랜잭션을 희생자로 중단시킨다
대기 그래프의 순환은 교착 상태입니다. DBMS는 한 트랜잭션을 롤백하여 다른 트랜잭션이 계속할 수 있게 하며, 희생자는 재시도될 수 있습니다.
답: B · 데이터 링크(2계층)
일반적인 스위치는 MAC 주소를 학습하고 2계층에서 프레임을 전달합니다. 3계층 스위치는 라우팅도 수행합니다.
답: B · 자율 시스템(AS) 간에 라우팅 정보를 교환한다
BGP는 도메인 간 라우팅 프로토콜입니다. 자율 시스템은 도달 가능한 프리픽스를 광고하고 정책에 따라 경로를 선택합니다.
답: p = 28
IPv4 서브네팅: 주소는 32비트입니다. 접두사 /p는 앞의 몇 비트가 네트워크를 나타내는지를 말하고, 나머지 32 − p비트로 호스트 번호를 매깁니다. 서브넷에는 주소가 2³²⁻ᵖ개 있지만 첫 주소(네트워크 주소)와 마지막 주소(브로드캐스트 주소)는 호스트에 줄 수 없어 호스트 2³²⁻ᵖ − 2개가 들어갑니다. 예외: /31(점대점 링크, RFC 3021)은 주소 2개를 모두 호스트에 쓰고, /32는 단일 주소(단일 호스트 또는 루프백)입니다.
답: p = 21
경로 요약: 요약 경로 a.b.c.0/p는 처음 p비트가 일치하는 모든 네트워크를 포함합니다. 첫 번째와 마지막 네트워크에서 다른 옥텟을 2진수로 쓰고, 공통 앞쪽 비트 수에 그 앞 옥텟들의 비트를 더하면 가장 긴 요약 접두사가 됩니다.
요약 경로: 10.246.112.0/21
ExamProblems · examproblems.com/courses/computer-science-fundamentals