profile
꾸준히 성장하는 과정속에서, 제 지식을 많은 사람들과 공유하기 위한 블로그입니다 😉
post-thumbnail

[회고록] 코딩테스트 스터디장 : 아무 대가없이 타인과 지식과 경험을 공유한 경험

지난 달을 마지막으로, 제가 주관했던 코딩테스트 강의 운영 및 스터디가 끝나게 되었습니다. 나중에 이 글을 다시 보게 될 때 현재 느꼈던 초심을 잃지않기 위해, 또 학습방식을 현재 이 회고록을 보고 있는 여러분들과 공유하도록 작성하게 되었습니다.

2022년 11월 26일
·
0개의 댓글
·
post-thumbnail

하노이의 탑(The Tower of Hanoi) 을 구현해보자! : 재귀의 관점 확장

이번 포스팅에서는 하노이의 타워를 재귀로 구현하는 원리에 대해 알아보겠습니다.현 포스팅 내용을 꼼꼼히 읽어보시고 확실하게 이해하시면 좋갰습니다. 재귀(Recursion) 의 호출 구조에 대한 원리를, 추후 어떤 문제를 직면했을때 재귀적인 구조를 어떻게 적용시킬지를 아실

2022년 11월 2일
·
0개의 댓글
·
post-thumbnail

재귀( Recursion )

스터디를 본격적으로 시작하기전에, 잠시 5분정도 인풋값 n 부터 1까지를 출력하는 재귀함수를 만들어보자💥

2022년 10월 31일
·
0개의 댓글
·
post-thumbnail

이분탐색 (Binary Search)

정렬되어 있는 배열에서 특정 데이터를 찾기위해 모든 데이터를 순차적으로 확인하는 대신 탐색 범위의 절반으로 줄여가며 찾는 탐색 방법시간복잡도 : O(log N)이분탐색은 오름차순 정렬이 이미 완료된 리스트에 대해서만 적용할 수 있다.=> 정렬이 안된경우, 반드시 sor

2022년 10월 3일
·
0개의 댓글
·
post-thumbnail

BFS

시작하는 칸을 큐에넣고 방문했다는 표시를 남김큐에서 원소를 꺼내고, 그 칸에 상하좌우로 인접한 칸에 대해 3번을 진행3-1. 해당 칸을 처음 방문한다면 => 방문했다는 표시를 남기고, 해당 칸을 큐에 삽입3-2. 이전에 이미 방문한 칸이라면 => 아무것도 하지 않음큐가

2022년 9월 11일
·
0개의 댓글
·
post-thumbnail

데크 (deque)

양쪽 끝에서 삽입, 삭제 모두 가능함원소추가 : O(1)원소제거 : O(1)가장 앞/뒤 원소 확인 : O(1)가장 앞/뒤가 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능=> STL queue 에서는 인덱스로 원소에 접근이 가능STL vector 에서 제공되는 기능

2022년 9월 5일
·
0개의 댓글
·
post-thumbnail

큐(queue)

FIFO원소추가 : O(1)원소제거 : O(1)제일 앞/뒤의 원소 확인 : O(1)제일 앞/뒤가 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능배열로 구현 가능head 나 tail 이 끝 인덱스를 가리키는 상태에서 0번지로 다시 오도록 구현선형 배열로 구현한 큐 :

2022년 9월 5일
·
0개의 댓글
·
post-thumbnail

스택 - 수식의 괄호쌍

주어진 괄호 문자열이 올바른지 판단하는 문제스택을 활용한 방법여는 괄호가 등장하면 스택에 저장한다저장하다가, 닫는 괄호가 등장하면 스택에 가장 최근에 들어온 여는 괄호와 짝을 이룰 수 있는지 판단한다.스택에 가장 최근에 들어온 여는 괄호를 제거한다위 과정을 반복한다여는

2022년 8월 28일
·
0개의 댓글
·
post-thumbnail

링크드리스트

싱글리 (단일)더블리 (이중)서큘러 (원형)k번쨰 원소의 접근 : O(1) / O(k)임의 위치에 원소 추가 제거 : O(n) / O(1)메모리 상의 배치 : 연속 / 불연속추가적으로 필요한 공간(Overhead) : x / O(n) => 싱글리 : 다음원소의 주소,

2022년 8월 23일
·
0개의 댓글
·
post-thumbnail

우선순위 큐(priority queue)

pop 을 할때 우선순위가 가장 높은 원소가 먼저 나오는 큐원소의 추가 : O(log n)우선순위가 가장 높은 원소의 확인 : O(1)우선순위가 가장 높은 원소의 제거 : O(log n)=> "힙(Heap)" 을 사용해서 구현함!이진트리로 구현최대 힙 (max Heap

2022년 8월 18일
·
0개의 댓글
·
post-thumbnail

배열 & vector

Abstract Data Type (추상자료형)특정 데이터들을 저장 및 조작하는 방식에 대한 "명세서"우리는 추상 자료형을 어떻게든 구현하던간에 상관없다!종류 : 배열 ADT, 링크드리스트 ADT, 스택 ADT, 큐 ADT, ....배열 ADT 는 어떻게 구현하던 상관

2022년 8월 7일
·
0개의 댓글
·
post-thumbnail

투 포인터

배열에서 원래 이중 for문 O(n^2) 에 처리되는 작업을 2개 포인터의 움직임으로 O(n)에 해결하는 알고리즘이분탐색 문제를 투 포인터로 해결할 수 있는 경우가 많다.반대로 투 포인터 문제를 이분탐색으로 해결할 수 있는 경우도 자주있다.

2022년 8월 5일
·
0개의 댓글
·
post-thumbnail

그리디

Greedy = 지금 가장 최적인 답을 근시안적으로 택하는 알고리즘= 관찰을 통해 탐색 범위를 줄이는 알고리즘관찰을 통해 탐색 범위를 줄이는 방법을 고안한다.탐색 범위를 줄여도 올바른 결과를 낸다는 사실을 수학적으로 증명한다.구현해서 문제를 통과한다.위와같이 풀면 좋겠

2022년 8월 1일
·
0개의 댓글
·
post-thumbnail

시간 & 공간 복잡도

컴퓨터의 연산처리 컴퓨터는 1초에 3~5억개의 연산을 처리 가능 => 문제에서 제한시간이 1초이다? 이 말은 곧 "당신이 설계한 코드, 즉 프로그램은 3~5억번의 연산 안에 답을 도출해내고 종료되어야 한다." 라는 것이다. 그런데 이렇게 3~5억 번의 연산안에 설

2022년 8월 1일
·
4개의 댓글
·
post-thumbnail

0. 코딩테스트 유형 분석 + 기초작성요령

삼성전자 SW 역량테스트카카오네이버라인배민NHNSK 하이닉스C++, Python, JAVA동작 속도가 압도적으로 빠르다. (코스포스 랭킹 상위 티어인 분들은 압도적으로 c++ 을 사용)같은 시간복잡도로 설계한 문제임에도 불구하고, 파이썬과 자바로 풀었을 때 시간초과가

2022년 7월 17일
·
0개의 댓글
·
post-thumbnail

다이나믹 프로그래밍(DP)

여러 개의 하위 문제를 먼저 푼 후, 그 결과를 쌓아올려 주어진 문제를 해결하는 알고리즘문제를 해결하기 위한 점화식을 찾아낸 후, 점화삭의 항을 밑에서부터 차례대로 구해나가서 답을 알아내는 형태의 알고리즘ex. 피보나치 문제1.재귀적 방법 활용시 => 피보나치 수열의

2022년 7월 6일
·
0개의 댓글
·
post-thumbnail

Counting Sort, Radix Sort, STL Sort

위와 같은 리스트를 정렬하기 위해선 앞서 살핀 버블, merge, 퀵 정렬모두 사용 가능하다. 하지만 퀵정렬은 O(nlogn) 이 보장되지 않는다.퀵정렬은 최악의 경우 O(n^2) 이 걸린다!각 숫자가 몇번 등장했는지를 카운팅해서 배열 arr 에 저장해 놓고,나중에 f

2022년 7월 3일
·
0개의 댓글
·
post-thumbnail

선택정렬, 버블정렬, 병합정렬, 퀵정렬

모두 O(n^2)면접에서 대부분 이 3가지 정렬방식을 물어볼 일 거의없음!!삽입, 선택, 버블정렬을 굳이 외우지 말고, 버블 정렬정도는 구현할 수 있을 정도만 학습하자.O(n^2)max_element(arr, arr+k) 함수 : arr0, arr1, arr2, ...

2022년 6월 30일
·
0개의 댓글
·
post-thumbnail

트리

무방향이면서 사이클이 없는 연결 그래프임의의 두 점을 연결하는 simple path(정점이 중복해서 나오지 않는 경로) 가 유일한 그래프v개의 정점을 가지고 v-1 개의 간선을 가지는 연결 그래프임의의 시작점을 잡고 BFS를 돌리면, 그 시작점을 루트로 정해서 트리를

2022년 4월 29일
·
0개의 댓글
·
post-thumbnail

백트래킹

현재 상채에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘

2022년 3월 26일
·
0개의 댓글
·