Writer: Harim Kang
Computational Thinking은 다양한 유형 중 5가지 큰 문제가 주어지며, 각 문제 마다 더 복잡해지는 5가지의 소문제로 이루어져 있습니다. 총 25문제를 30분 안에 풀어야합니다.
문제의 유형은 아래와 같은 종류의 유형들이 존재합니다.
해당 포스팅에서는 이산수학, 수열, 자료구조, 1차원 점화식 유형에 대한 내용과 문제 유형을 다루겠습니다.
이산수학은 컴퓨터가 사용하는 수학에 대한 유형입니다. 대표적으로 2진수, 논리연산, 비트연산, 팩토리얼, 분류 등에 대한 문제들이 있습니다.
https://davinci-ai.tistory.com/37
비트 연산은 논리연산을 여러 비트에 적용한 것을 의미합니다.
비트 연산의 구성은 다음과 같습니다.
AND(&): 2진법에서 1은 True, 0은 False입니다. 2진법 수의 각 자리들을 && 연산해줍니다.
1 & 1 = 1, 1 & 0 = 0, 0 & 1 = 0, 0 & 0 = 0
OR(|): 2진법 수의 각 자리들에 || 연산을 해줍니다.
1 | 1 = 1, 1 | 0 = 1, 0 | 1 = 1, 0 | 0 = 0
XOR(^): 2진법 수에 대해 A^B는 각 빝트에 대해 서로 다른 값이 들어있는지를 판단하는 연산입니다.
1^1 = 0, 1^0 = 1, 0^1 = 1, 0^0 = 0
NOT(~): 2진법 수의 각 자리들에 ! 연산을 해줍니다.
!1 = 0, !0 = 1
음수 표현법(-): 2진법 수의 음수표현법은 NOT연산 값에 1을 더해줍니다.
Shift 연산(<<, >>): 전체 비트를 하나씩 왼쪽 또는 오른쪽으로 옮기는 연산입니다. (그림에는 32라고 되어있지만 결과 값 64가 맞습니다. 오타 피드백: phy님 감사합니다 :D)
10진법 수를 n진법 수로 변환하는 방법
10진법 수 A를 몫이 0이 될 때까지, n으로 계속 나눕니다.
계산 시마다의 나머지의 역순이 n진법으로 변환된 수입니다.
문제 유형
3의 거듭제곱
2 to 8
해당 문제는 맨 오른쪽 수부터 세자리 씩 묶어서 보면 편합니다. 세자리씩 묶어서 그 숫자를 10진수로 변환하면 됩니다.
자료구조에 대한 내용은 SSAFY관련 첫번째 포스팅에 간단한 개념들을 정리하였습니다.
이론 & 개념
후위 표기법 계산
이론 & 개념
그래프 문제는 순회와 관련된 문제가 많이 출제됩니다.
가장 앞의 수부터 순서대로 진행하면서, 이전의 위치들의 정보를 이용하여 현재의 위치 답을 구하는 방식입니다.
문제 유형
문제의 풀이
위와같이, 앞에서 계산된 최대값을 이용하여 그 상황에서 얻을 수 있는 최대값을 넣습니다.
표를 완성시키면 아래와 같습니다.
SSAFY 알고리즘잡스 대비반의 교육을 통해, Computational Thinking에 관련된 다양한 문제 유형을 접할 수 있었습니다. 자료구조와 알고리즘의 기초에 대한 내용을 학습하는 것이 좋고, 특히 DP에 익숙해지는 것이 좋을 것 같습니다.
SSAFY 준비 (5) - SSAFY 4기 모집 안내 & 시험 준비 (16) | 2020.05.12 |
---|---|
SSAFY 준비 (4) - Computational Thinking (CT) #2 (12) | 2020.05.04 |
SSAFY 준비 (2) - 수리/추리논리 (13) | 2020.04.19 |
SSAFY 준비 (1) - SSAFY란? & CT Basic (2) | 2020.04.12 |
댓글 영역