모각코

[2021 하계 모각코] 2회차 회고록

narlo 2021. 7. 26. 16:46

2회차(2021.07.20 14:00~17:00)

2회차 목표


백준 자료구조 문제 5개 풀기

10866 덱

2164 카드2

11866 요세푸스 문제 0

10799 쇠막대기

10816 숫자 카드 2

 

이렇게 5문제를 풀어보았다.

내가 작성한 쇠막대기 코드!


정보처리기능사 2장 7~11 section

section 7 에서는 데이터베이스에 대해 배웠는데,

데이터 모임의 정의, 설계 순서에 대해 알아보고, 스키마라는 용어에 대해서도 배웠다. 

section 8 에서는 데이터베이스 관리 시스템, DBMS에 대해 알아보았고,

계층형, 망형, 관계형 DBMS가 있다는 것을 알았으며,

DBMS의 장점으로는 데이터의 일관성, 무결성을 유지할 수 있으며 표준화할 수 있다는 것을 배웠다.

section 9 는 데이터 모델에 대한 내용인데,

데이터 모델의 구성 요소인 개체, 속성, 관계에 대해 자세히 알아보았다.

section 10은 ER(Entity Relationship)모델에 대한 내용이며,

ER 도형으로 개체, 속성, 관계 등을 표현하는 법을 배웠다.

section 11은 관계형 데이터베이스의 구조에 대해 알아보았고,

관계형 데이터베이스는 튜플과 속성으로 이루어지며, 릴레이션의 특징에 대해서도 배웠다.

 


알고리즘 문제해결전략 분할정복 공부

분할정복(Divide & Conquer)은 주어진 문제를 둘 이상의 부분 문제로 나누고,

재귀를 이용하여 계산하고 부분 문제들의 답을 이용해 전체 문제의 답을 구하는 과정을 말하는데,

 

문제를 더 작은 문제로 분할하는 과정(Divide)

각 문제에 대해 구한 답을 원래 문제에 대한 답으로 병합하는 과정(merge)

더이상 답을 분할하지 않고 곧장 풀 수 있는 매우 작은 문제(base case)

 

로 이루어져 있다.

 

병합 정렬, 퀵 정렬도 분할 정복 알고리즘을 기반으로 만들어진 것이며,

 

병합 정렬은 주어진 수열을 가운데에서 쪼개 비슷한 크기의 수열 두 개로 만들고,

재귀를 이용해 각각 정렬한 뒤 정렬된 배열을 다시 합침으로써 정렬된 전체 수열을 얻는다.

 

퀵 정렬은 병합 과정이 필요 없도록 한쪽의 배열에 포함된 수가 다른 쪽에 배열의 수보다 항상 작도록 분할한다.

기준 수 pivot을 설정하여 파티션 단계를 거친다.

 


목표를 너무 과하게 잡았는지 알고리즘 문제해결전략은 거의 손도 대지 못했다.

동적 계획법에 대해서만 간단하게 알아보았는데,

다음 모각코 때 이를 응용한 문제들에 대해서 더 자세히 알아보는 시간을 가져야겠다.