진법
- 자릿값
- 2진수 2k, 8진수 8k, 16진수 16k
- 10진수로
- Σ dk·bk
- 10진수에서
- 기수로 나누고, 나머지를 아래에서 위로 읽음
- 16진수 ↔ 2진수
- 16진수 한 자리 = 4비트
- 2의 보수
- 비트를 반전하고 1을 더함
공식 모음, 모든 주제의 핵심 풀이 단계, 연습 문제 20개가 들어 있으며 전체 풀이는 맨 뒤에 있습니다.
−91를 8비트 2의 보수 패턴으로 쓰세요. 그 패턴을 부호 없는 2진수로 읽으면 10진수 값 U는 얼마일까요?
1000 0100 XOR 0001 1111의 8비트 결과가 되도록 비트를 설정하세요. 결과의 값 R은 십진수로 얼마입니까?
((r → q) ∧ ¬q) → ¬r은(는) 항진명제, 모순, 우연명제 중 무엇인가? 답을 클릭하세요.
전제 q → r; r → p이(가) 주어져 있다. 이로부터 따라 나오는 결론은 어느 것인가? 클릭하세요.
카르노 맵으로 F(A, B, C, D) = Σm(0, 5, 7, 8, 9, 10, 11, 12, 13)의 최소 곱의 합(SOP) 형태를 구하시오. 전체 리터럴은 몇 개(L)인가(프라임이 붙은 변수도 리터럴 하나로 센다)?
d가 무정의항을 나타낼 때 F(A, B, C, D) = Σm(0, 4, 6, 7, 11, 12, 14) + d(2, 8)의 필수 소 임플리컨트의 개수 N을(를) 구하시오.
x ≡ 3 (mod 9)이고 x ≡ 7 (mod 13)인 가장 작은 양의 정수 x을(를) 구하시오.
RSA 키가 소수 p = 11, q = 31과 공개 지수 e = 11를 쓴다. 개인 지수 d(0 < d < φ(n))을(를) 구하시오.
밑이 k이고 자릿수가 d인 정수 n개에 대한 LSD 기수 정렬의 실행 시간은 얼마입니까?
정지 문제(halting problem)가 보여 주는 것은 무엇입니까?
알파벳이 고정된 트라이(trie)에서 길이 L인 단어를 탐색하는 데 얼마나 걸립니까?
해시 테이블이 올바르게 동작하려면 해시와 동등성이 어떤 규칙을 따라야 합니까?
트리에 차수가 3인 정점 3개, 차수가 5인 정점 3개이(가) 있고 나머지 정점은 모두 잎(차수 1)이다. 잎은 몇 개(L)인가?
A에서 F까지 가는 길이 3의 보행은 몇 개인가? 보행에서는 정점과 간선이 반복될 수 있다. 그 수를 N(이)라 하자.
WHERE 절에 일치하는 행이 없을 때 SELECT SUM(amount) FROM orders는 무엇을 반환합니까?
당직 의사 두 명이 각각 상대가 아직 당직 중인지 확인한 다음, 동시에 둘 다 당직에서 빠집니다. 여기서 스냅샷 고립이 여전히 허용할 수 있는 이상 현상은 무엇입니까?
분산 서비스 거부(DDoS) 공격의 특징은 무엇입니까?
한 PC가 자신의 서브넷에 있는 프린터에는 접근할 수 있지만 그 너머로는 아무것에도 접근할 수 없습니다. IP 주소와 마스크는 올바릅니다. 가장 가능성 높은 결함은 무엇입니까?
네트워크 192.168.10.0/24를 크기가 같은 서브넷 3개 이상으로 나누어야 합니다. 가능한 한 적은 비트를 빌리면 각 서브넷에서 사용 가능한 호스트 H는 몇 개일까요?
어떤 호스트의 주소가 10.20.192.99/26입니다. 그 서브넷 브로드캐스트 주소의 마지막 숫자(네 번째 옥텟) x는 얼마일까요?
답: U = 165
위치 기수법: 각 자리의 값은 그 숫자에 밑의 거듭제곱을 곱한 것입니다. 2진수의 자리값은 1, 2, 4, 8, 16, …, 16진수는 1, 16, 256, …이며 A–F는 10–15를 뜻합니다. 8비트 2의 보수에서 가장 왼쪽 비트는 +128이 아니라 −128의 값을 가지며, 이렇게 음수를 저장합니다.
답: R = 155
비트 설정: 각 비트는 2의 거듭제곱(128, 64, …, 1)의 값을 가집니다. 16진수 한 자리는 정확히 네 비트이고, 8비트 2의 보수에서 맨 왼쪽 비트의 값은 −128입니다. 비트 연산은 각 비트 자리를 따로 처리합니다.
XOR은 두 비트가 다른 곳에서 1입니다.
답: 항진명제
논리적 동치: 두 식은 진리표의 모든 행에서 값이 같으면 동치(≡)입니다. 항진명제는 모든 행에서 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).
답: q → p
한정자와 논증: ¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x). 부정을 안쪽으로 옮기고, 지나가는 모든 한정자를 바꾸고, ¬(a → b) ≡ a ∧ ¬b 같은 명제 논리 법칙으로 안쪽 식을 부정하세요. 모든 전제가 1인 모든 행에서 결론이 1이면 논증이 타당합니다. 전제는 참인데 결론이 거짓인 행이 하나라도 있으면 그것이 반례이며 그 논증은 타당하지 않음을 보여 줍니다.
답: L = 10
카르노 맵: 칸은 그레이 코드(00, 01, 11, 10) 순서로 배열되므로, 가장자리를 넘어 이웃한 칸을 포함해 이웃한 칸은 정확히 한 변수만 다릅니다. 모든 1이 덮일 때까지 1들을 1, 2, 4, 8, 16칸의 직사각형으로, 가능한 한 크고 가능한 한 적게 묶으세요. 각 그룹은 그 안에서 일정하게 유지되는 변수로 이루어진 곱항 하나입니다. 2ᵏ칸의 그룹은 변수 k개를 잃습니다. 무정의항(X)은 그룹을 키우는 데 쓸 수 있지만 반드시 덮을 필요는 없습니다. 0들을 묶으면 최소 POS 형태가 나옵니다.
모든 그룹은 2ᵏ칸의 직사각형입니다. 가장자리 칸은 반대쪽 가장자리의 칸과 이웃합니다.
답: N = 3
카르노 맵: 칸은 그레이 코드(00, 01, 11, 10) 순서로 배열되므로, 가장자리를 넘어 이웃한 칸을 포함해 이웃한 칸은 정확히 한 변수만 다릅니다. 모든 1이 덮일 때까지 1들을 1, 2, 4, 8, 16칸의 직사각형으로, 가능한 한 크고 가능한 한 적게 묶으세요. 각 그룹은 그 안에서 일정하게 유지되는 변수로 이루어진 곱항 하나입니다. 2ᵏ칸의 그룹은 변수 k개를 잃습니다. 무정의항(X)은 그룹을 키우는 데 쓸 수 있지만 반드시 덮을 필요는 없습니다. 0들을 묶으면 최소 POS 형태가 나옵니다.
1과 X로 만들 수 있는 가장 큰 그룹들.
답: x = 111
역원과 합동식: 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 = 191
모듈러 거듭제곱과 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으로 복호화합니다.
답: D · O(d(n + k))
d번의 각 패스는 O(n + k)가 드는 계수 정렬이므로, d와 k가 고정되면 전체는 n에 대해 선형입니다.
답: D · 모든 프로그램과 입력에 대해 그것이 정지하는지를 판정할 수 있는 알고리즘은 없다
Turing은 정지 문제가 결정 불가능(undecidable)함을 보였습니다. 판정기가 존재한다고 가정하면 그 반대로 동작하는 프로그램과 모순이 생깁니다.
답: A · 저장된 단어 수와 관계없이 O(L)
각 문자가 자식 하나를 선택하므로, 트라이에 단어가 얼마나 있든 조회는 L 단계가 걸립니다.
답: A · 같은 키는 같은 해시 값을 가져야 한다
같은 두 키가 다르게 해시되면 서로 다른 버킷에 저장되어 조회가 실패할 것입니다. 다른 키는 여전히 해시를 공유할 수 있습니다.
답: L = 14
오일러, 해밀턴, 트리: 연결 그래프는 모든 정점의 차수가 짝수이면 오일러 회로(모든 간선을 한 번씩 지나 출발점으로 돌아옴)를 가지고, 차수가 홀수인 정점이 정확히 두 개이면 회로가 아닌 오일러 경로를 가집니다. 이 경로는 한 홀수 정점에서 다른 홀수 정점까지 이어집니다. 해밀턴 회로는 모든 정점을 한 번씩 방문하며, Kn에는 (n − 1)!/2개가 있습니다. 정점이 n개인 트리는 간선이 n − 1개이고, 간선이 m개인 연결 그래프는 m − n + 1개의 간선을 제거한 뒤에도 신장 트리를 유지합니다.
지름길: 차수 d ≥ 3인 정점에 대해 L = 2 + Σ (d − 2).
답: N = 2
차수: 정점의 차수는 그 정점에 닿는 간선의 수입니다. 모든 간선은 양 끝이 있으므로 차수의 합은 간선 수의 두 배입니다: Σ deg(v) = 2|E|(악수 보조정리). 따라서 차수가 홀수인 정점의 수는 짝수입니다. Kn은 간선이 n(n − 1)/2개이고, 정점이 n개인 k-정규그래프는 nk/2개이며, 정점이 n개인 트리는 간선이 n − 1개입니다.
답: D · NULL
SUM, AVG, MIN, MAX는 빈 집합에 대해 NULL을 반환하고, COUNT는 0을 반환합니다. COALESCE(SUM(amount), 0)를 쓰면 대신 0이 나옵니다.
답: A · 쓰기 왜곡(write skew)
스냅샷 고립에서는 두 트랜잭션이 이전 상태를 보고 서로 다른 행을 변경하므로 쓰기 충돌이 감지되지 않습니다. 직렬 가능 고립 수준이 이를 막습니다.
답: A · 감염된 많은 기기가 대상에 트래픽을 퍼붓는다
DDoS 공격에서는 많은 출처가 서버나 링크를 압도하여 정당한 사용자가 서비스를 받지 못하게 합니다. 출처가 많아 단순 차단이 어렵습니다.
답: A · 기본 게이트웨이가 없거나 잘못됨
호스트는 서브넷 밖으로 가는 패킷을 기본 게이트웨이로 보냅니다. 게이트웨이가 잘못되었거나 없으면 로컬 트래픽은 여전히 동작하지만, IP 주소로도 외부에는 도달할 수 없습니다.
답: H = 62
IPv4 서브네팅: 주소는 32비트입니다. 접두사 /p는 앞의 몇 비트가 네트워크를 나타내는지를 말하고, 나머지 32 − p비트로 호스트 번호를 매깁니다. 서브넷에는 주소가 2³²⁻ᵖ개 있지만 첫 주소(네트워크 주소)와 마지막 주소(브로드캐스트 주소)는 호스트에 줄 수 없어 호스트 2³²⁻ᵖ − 2개가 들어갑니다. 예외: /31(점대점 링크, RFC 3021)은 주소 2개를 모두 호스트에 쓰고, /32는 단일 주소(단일 호스트 또는 루프백)입니다.
답: x = 127
IPv4 서브네팅: 주소는 32비트입니다. 접두사 /p는 앞의 몇 비트가 네트워크를 나타내는지를 말하고, 나머지 32 − p비트로 호스트 번호를 매깁니다. 서브넷에는 주소가 2³²⁻ᵖ개 있지만 첫 주소(네트워크 주소)와 마지막 주소(브로드캐스트 주소)는 호스트에 줄 수 없어 호스트 2³²⁻ᵖ − 2개가 들어갑니다. 예외: /31(점대점 링크, RFC 3021)은 주소 2개를 모두 호스트에 쓰고, /32는 단일 주소(단일 호스트 또는 루프백)입니다.
ExamProblems · examproblems.com/courses/computer-science-fundamentals