진법
- 자릿값
- 2진수 2k, 8진수 8k, 16진수 16k
- 10진수로
- Σ dk·bk
- 10진수에서
- 기수로 나누고, 나머지를 아래에서 위로 읽음
- 16진수 ↔ 2진수
- 16진수 한 자리 = 4비트
- 2의 보수
- 비트를 반전하고 1을 더함
공식 모음, 모든 주제의 핵심 풀이 단계, 연습 문제 20개가 들어 있으며 전체 풀이는 맨 뒤에 있습니다.
−22를 8비트 2의 보수 패턴으로 쓰세요. 그 패턴을 부호 없는 2진수로 읽으면 10진수 값 U는 얼마일까요?
1100 1011 >> 3의 8비트 결과가 되도록 비트를 설정하세요. 결과의 값 R은 십진수로 얼마입니까?
c → (c ∧ b)은(는) 항진명제, 모순, 우연명제 중 무엇인가? 답을 클릭하세요.
진리표의 16개 행 중 몇 개에서 ((a → b) → d) ∧ (c → (a ∨ d))이(가) 참인가? 이 수를 N(이)라 하자.
이 카르노 맵에서는 이웃한 1이 없는 1이 정확히 하나 있으며, 최소 SOP 형태에서 한 칸짜리 그룹(리터럴 네 개의 완전한 최소항)으로 남습니다. 맵의 가장자리를 넘어서 이웃한 칸도 센다. 그 칸을 클릭하세요.
상승 에지 트리거 D 플립플롭이 Q = 0에서 시작하여 그림의 입력을 상승 클록 에지 8번에 걸쳐 받는다. Q의 상태는 몇 번(N) 바뀌는가?
x ≡ 1 (mod 3)이고 x ≡ 5 (mod 13)인 가장 작은 양의 정수 x을(를) 구하시오.
반복 제곱법으로 11198 mod 49을(를) 구하시오.
가중치가 없는 그래프에서 너비 우선 탐색(BFS)은 무엇을 찾습니까?
새 문제 X가 NP-hard임을 보이려면 무엇을 해야 합니까?
다익스트라 알고리즘은 다음에 처리할 정점을 고르는 데 어떤 추상 자료형을 사용합니까?
키가 서로 다를 때 유일한 이진 트리를 항상 결정하는 순회 쌍은 무엇입니까?
완전그래프 K7의 서로 다른 해밀턴 회로는 몇 개(H)인가? 시작 정점이나 방향만 다른 회로는 같은 것으로 센다.
C에서 출발해 같은 정점으로 돌아오는 길이 2의 닫힌 보행은 몇 개인가? 보행에서는 정점과 간선이 반복될 수 있다. 그 수를 N(이)라 하자.
한 테이블이 모든 주문 행에 고객의 주소를 저장합니다. 한 행의 주소는 바꾸고 다른 행은 바꾸지 않는 것은 무엇의 예입니까?
팬텀 리드(phantom read)란 무엇입니까?
상태 기반(stateful) 방화벽은 단순 패킷 필터와 어떻게 다릅니까?
TCP 빠른 재전송(fast retransmit)은 무엇을 합니까?
어느 부서가 한 서브넷에 호스트 주소 1668개가 필요합니다. 충분한 가장 긴 접두사 길이 p(가장 작은 서브넷)는 얼마일까요?
어떤 호스트의 주소가 10.20.166.78/29입니다. 그 서브넷 브로드캐스트 주소의 마지막 숫자(네 번째 옥텟) x는 얼마일까요?
답: U = 234
위치 기수법: 각 자리의 값은 그 숫자에 밑의 거듭제곱을 곱한 것입니다. 2진수의 자리값은 1, 2, 4, 8, 16, …, 16진수는 1, 16, 256, …이며 A–F는 10–15를 뜻합니다. 8비트 2의 보수에서 가장 왼쪽 비트는 +128이 아니라 −128의 값을 가지며, 이렇게 음수를 저장합니다.
답: R = 25
비트 설정: 각 비트는 2의 거듭제곱(128, 64, …, 1)의 값을 가집니다. 16진수 한 자리는 정확히 네 비트이고, 8비트 2의 보수에서 맨 왼쪽 비트의 값은 −128입니다. 비트 연산은 각 비트 자리를 따로 처리합니다.
3만큼 오른쪽으로 시프트하면 모든 비트가 3칸 오른쪽으로 이동합니다. 오른쪽 끝에서 밀려난 비트는 사라지고 왼쪽에 0이 들어옵니다.
답: 우연명제
논리적 동치: 두 식은 진리표의 모든 행에서 값이 같으면 동치(≡)입니다. 항진명제는 모든 행에서 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 = 10
진리표: 서로 다른 변수가 n개인 식은 참값(1 = 참, 0 = 거짓)의 모든 조합마다 하나씩 2ⁿ개의 행을 가집니다. 안쪽부터 바깥쪽으로 작업하고 모든 부분식에 각각 열을 주세요. ¬a는 값을 뒤집습니다. a ∧ b는 둘 다 1일 때만 1입니다. a ∨ b는 둘 다 0일 때만 0입니다. a → b는 a = 1이고 b = 0일 때만 0입니다. a ↔ b는 양쪽이 같을 때 1입니다.
답: AB = 10, CD = 10
카르노 맵: 칸은 그레이 코드(00, 01, 11, 10) 순서로 배열되므로, 가장자리를 넘어 이웃한 칸을 포함해 이웃한 칸은 정확히 한 변수만 다릅니다. 모든 1이 덮일 때까지 1들을 1, 2, 4, 8, 16칸의 직사각형으로, 가능한 한 크고 가능한 한 적게 묶으세요. 각 그룹은 그 안에서 일정하게 유지되는 변수로 이루어진 곱항 하나입니다. 2ᵏ칸의 그룹은 변수 k개를 잃습니다. 무정의항(X)은 그룹을 키우는 데 쓸 수 있지만 반드시 덮을 필요는 없습니다. 0들을 묶으면 최소 POS 형태가 나옵니다.
이웃한 1이 있는 1은 두 칸 이상의 그룹에 들어갈 수 있습니다.
답: N = 3
플립플롭과 카운터: 플립플롭은 클록의 활성 에지에서만 바뀝니다. 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개입니다.
D 플립플롭은 상승 에지마다 D를 복사합니다: Q⁺ = D.
답: x = 31
역원과 합동식: 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).
답: 11198 mod 49 = 22
모듈러 거듭제곱과 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으로 복호화합니다.
답: C · 시작 노드로부터 간선 수 기준의 최단 경로
BFS는 출발점으로부터의 거리(간선 수) 순서로 노드를 방문하므로 O(V + E)에 가중치 없는 최단 경로를 찾습니다.
답: B · 알려진 NP-hard 문제를 다항 시간에 X로 환원한다
알려진 어려운 문제를 효율적으로 X로 변환할 수 있다면, X에 대한 빠른 알고리즘은 알려진 문제도 풀게 됩니다.
답: A · 최소 우선순위 큐
보통 이진 힙으로 구현하는 최소 우선순위 큐는 거리가 가장 작은 미방문 정점을 효율적으로 반환합니다.
답: C · 전위 순회와 중위 순회
전위 순회는 루트를 알려 주고, 중위 순회에서 그 위치가 왼쪽과 오른쪽 서브트리를 나눕니다. 전위와 후위 순회의 조합은 자식이 하나인 노드가 있으면 모호합니다.
답: H = 360
오일러, 해밀턴, 트리: 연결 그래프는 모든 정점의 차수가 짝수이면 오일러 회로(모든 간선을 한 번씩 지나 출발점으로 돌아옴)를 가지고, 차수가 홀수인 정점이 정확히 두 개이면 회로가 아닌 오일러 경로를 가집니다. 이 경로는 한 홀수 정점에서 다른 홀수 정점까지 이어집니다. 해밀턴 회로는 모든 정점을 한 번씩 방문하며, Kn에는 (n − 1)!/2개가 있습니다. 정점이 n개인 트리는 간선이 n − 1개이고, 간선이 m개인 연결 그래프는 m − n + 1개의 간선을 제거한 뒤에도 신장 트리를 유지합니다.
답: N = 3
차수: 정점의 차수는 그 정점에 닿는 간선의 수입니다. 모든 간선은 양 끝이 있으므로 차수의 합은 간선 수의 두 배입니다: Σ deg(v) = 2|E|(악수 보조정리). 따라서 차수가 홀수인 정점의 수는 짝수입니다. Kn은 간선이 n(n − 1)/2개이고, 정점이 n개인 k-정규그래프는 nk/2개이며, 정점이 n개인 트리는 간선이 n − 1개입니다.
답: D · 갱신 이상
중복 저장은 하나의 변경을 여러 행에서 해야 한다는 뜻이며, 일부를 빠뜨리면 데이터가 불일치하게 됩니다. 정규화가 이를 막습니다.
답: C · 반복 실행한 쿼리가 다른 커밋된 트랜잭션이 삽입한 새 행을 반환하는 현상
팬텀은 다른 트랜잭션이 범위 조건에 맞는 행을 삽입할 때 발생하며, Serializable 격리 수준이 이를 방지합니다.
답: A · 연결을 추적하여 수립된 세션에 속하는 응답을 허용한다
상태 기반 방화벽은 활성 연결 테이블을 유지하므로 돌아오는 트래픽이 자동으로 허용됩니다. 상태 비저장 필터는 각 패킷을 따로 판단합니다.
답: B · 타임아웃을 기다리지 않고 중복 ACK 세 개를 받으면 세그먼트를 재전송한다
중복 ACK 세 개는 세그먼트 하나가 손실되었음을 강하게 시사하므로 TCP는 즉시 이를 재전송합니다. 재전송 타이머를 기다리는 것보다 훨씬 빨리 복구됩니다.
답: p = 21
IPv4 서브네팅: 주소는 32비트입니다. 접두사 /p는 앞의 몇 비트가 네트워크를 나타내는지를 말하고, 나머지 32 − p비트로 호스트 번호를 매깁니다. 서브넷에는 주소가 2³²⁻ᵖ개 있지만 첫 주소(네트워크 주소)와 마지막 주소(브로드캐스트 주소)는 호스트에 줄 수 없어 호스트 2³²⁻ᵖ − 2개가 들어갑니다. 예외: /31(점대점 링크, RFC 3021)은 주소 2개를 모두 호스트에 쓰고, /32는 단일 주소(단일 호스트 또는 루프백)입니다.
답: x = 79
IPv4 서브네팅: 주소는 32비트입니다. 접두사 /p는 앞의 몇 비트가 네트워크를 나타내는지를 말하고, 나머지 32 − p비트로 호스트 번호를 매깁니다. 서브넷에는 주소가 2³²⁻ᵖ개 있지만 첫 주소(네트워크 주소)와 마지막 주소(브로드캐스트 주소)는 호스트에 줄 수 없어 호스트 2³²⁻ᵖ − 2개가 들어갑니다. 예외: /31(점대점 링크, RFC 3021)은 주소 2개를 모두 호스트에 쓰고, /32는 단일 주소(단일 호스트 또는 루프백)입니다.
ExamProblems · examproblems.com/courses/computer-science-fundamentals