코딩테스트란 무엇인가

calis_ws·2023년 5월 5일
0
post-custom-banner

코딩테스트란?

주어진 시간안에 알고리즘 문제를 푸는 것
알고리즘 문제
미니 문제 >> 필요한 로직 >> 개념과 문제해결능력 >> 문제 풀이

자료구조와 알고리즘 필수?

프로그래밍 언어로 코드를 작성하는 개발자라면 기본적으로 알고 있어야 되는 지식이다.

프로그래밍 언어 X

HTML : mark up language
CSS : style sheet language

면접에서 코테를 보는 이유?

자료구조와 알고리즘에 대해 얼마나 이해하고 있고 시간과 공간복잡도에 대한 이해를 하기 위해서

취직 이직을 위해 푸는 것이 아닌
만들고자 하는 프로그램을 효율적으로 만들어 줄 수 있는 수단
현업에선 문제를 푸는 일은 거의 없다.

자료구조란?

서비스나 어플리케이션에서 필요한 데이터를 메모리에 구조적으로 잘 정리해서 보관, 관리하고 최종적으로 가장 효율적인 방식으로 필요한 데이터에 빠르게 접근하고 수정 삽입 삭제를 할 수 있도록 도와주는 것

어떤 자료구조를 쓰느냐에 따라서 사용자가 원하는 기능을 수행하는데 0.2초 혹은 2초가 걸릴수 있다.

자료구조의 종류

배열(Array)
단일 연결리스트, 이중 연결 리스트(List)
스택(Stack)
해쉬 테이블(Hash table)

공부 포인트

데이터들의 순서가 보장이 되는지
중복된 데이터가 들어갈 수 있는지
검색할 때 얼마나 효율적인지
원하는 기능에 따라서 수정할 때 얼마나 효율적인지

알고리즘이란?

제한된 공간과 시간안에서 데이터를 어떻게 처리할 것인지를 정해놓은 로직
input -> output

Big O : 동일한 알고리즘의 로직으로 인풋의 사이즈가 점점 커질수록, 시간이 얼마나 더 많이 걸리느냐를 정의한 시간 복잡도를 나타내는 표기할 수 있는 방법

공부 포인트

input의 사이즈가 커질수록 Big O가 어떻게 변화하는지
공간과 시간의 복잡도는 어떤지
어떤 자료 구조를 이용해서 이 알고리즘을 쓰는게 좋은지

이 자료 구조는 어느 상황에 쓰이는 것이 좋고 또 어떤 식의 API가 들어 있는지를 보면서 공부할 것

코딩테스트를 잘해야 개발을 잘하는가? X

문제를 푸는 시간은 중요하지 않다.
문제를 풀 수 있는가 없는가 의 차이
즉, 해결해나가는 과정이 중요하다.

profile
반갑습니다람지
post-custom-banner

0개의 댓글