Skip to content

mildsalmon/CodingTest-Study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏋️‍♂️ 나만의 시스템

보통 평일과 주말을 나눠서 공부합니다.

평일은 아침 9시 ~ 12시 사이에 한 문제를 풀고 인상깊은 문제는 블로그에 해설 포스팅을 남깁니다.

주말은 평일에 푼 문제 중 틀린 문제를 복습합니다. (자주 까먹기 때문에 주말에는 문제를 더 풀지 않습니다.)
주말에는 평일에 푼 문제를 복습하고, 새로운 문제들을 풀어봅니다.

🖋 지식을 코드에 적용하여 정리해봤어요.

A. 운영체제

a. CPU Scheduling (SJF)

현재 시점에서 cpu burst time이 짧은 작업을 우선으로 처리한다.

B. 객체지향 프로그래밍

a. 아기 상어

클래스로 구현하여, 외부에서는 geeter와 setter로만 객체를 제어할 수 있게 하였다. 또한, 메소드별 역할을 적은 주석을 추가하여 가독성을 높였다.

b. 청소년 상어

클래스로 구현하여, 외부에서는 geeter와 setter로만 객체를 제어할 수 있게 하였다. 또한, 힌트와 메소드별 역할을 적은 주석을 추가하여 가독성을 높였다.

c. 주사위 굴리기

주사위를 클래스 객체로 구현하였다. 주사위와 지도의 역할을 분리하여 주사위에서는 주사위 굴리기, top 위치에 적힌 번호 반환, bottom 번호 교체 등만 처리하였다.

C. 자료구조

a. 해시 (Hash)

해시의 특성인 key-value를 이용하여 Dict 자료형의 key값을 hash()의 리턴값으로 주고 이름을 value로 주었다.

D. 데이터

a. 크로스 집계

트랜잭션 테이블을 크로스 테이블로 변환하는 크로스 집계, 즉 Pivot을 진행했다.

b. DAG (Directed Acyclic Graph, 방향성 비순환 그래프)

방향을 가지는 그래프이지만, 사이클을 생성하지 않는 그래프이다. 작업의 우선순위에 따라 선행작업을 먼저 처리한다. DAG에서는 위상 정렬을 사용하여 우선순위를 표현한다.

데이터 플로우에서는 DAG를 구성하는 각 노드가 모두 동시 병행으로 실행되지만, 여기서는 MapReduce처럼 하나의 노드에서 처리가 끝나지 않으면 다음 처리로 진행할 수 없다.

About

코딩 테스트 연습

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published