본문 바로가기
OLD_알고리즘/개념 & 문제 정리

📌알고리즘 / 자료구조 / STL

by 달승 2021. 5. 10.

출제 빈도가 높은 문제는

그리디, 구현, DFS/BFS를 이용한 탐색 문제.
(그리디 유형은 문제 해결 방법만 떠올리면 간단하게 구현이 가능해 자주 등장한다.
 구현 문제는 실제 개발 과정에서 사용될 법한 구현 기법을 물어보는 경우가 많다.)

그 외에 DP그래프 이론 문제도 출제된다.(아마 출제 되더라도 난이도가 낮을 수 있다.)

- 동빈나 책 中 -

 

|   자료구조 

📋 Stack

 

STL ] Stack

* reference stack - C++ Reference container_typeThe second template parameter (Container)Type of the underlying container www.cplusplus.com 스택(자료구조) - 나무위키 이 저작물은 CC BY-NC-SA 2.0 KR에..

dkanxmstmdgml.tistory.com

 

📋 Queue

 

STL ] Queue

QUEUE FIFO - 선입선출(먼저 들어온 데이터가 먼저 출력된다.)의 특성을 가지는 Data Structure입니다. 입력 연산은 enqueue, 출력 연산은 dequeue입니다.  ** 쉽게 말해 '뒤로 넣고 앞으로 빼는 자료구조'라

dkanxmstmdgml.tistory.com

📋 heap

 

자료구조 ] Heap 자료구조

Heap "무엇인가를 차곡차곡 쌓아올린 더미" "우선 순위 queue를 구현하는 자료구조" "이진 트리이되 완전 이진 트리" "모든 노드의 값은 자식 노드의 값 =< 부모 노드의 값" 우선 순위 queue STL STL ] prior

dkanxmstmdgml.tistory.com

 

📋 priority_queue

 

STL ] priority_queue

class priority_queue; A priority queue is a container adaptor that provides constant time lookup of the largest (by default) element, at the expense of logarit" data-og-host="en.cppreference.com" da..

dkanxmstmdgml.tistory.com

 

📋 deque

 

STL ] deque

Double ended queue deque는 일반적으로 'deck'과 같이 부릅니다. 큐 양쪽 끝에서 확장 또는 축소를 할 수 있는 동적 크기를 가진 컨테이너입니다. 멤버함수는 queue와 priority_queue와 비슷합니다. Member fu..

dkanxmstmdgml.tistory.com

 

📋 Hash

 

Solving Skill ] 해시 맵(Hash Map)

Hashing  데이터를 저장할 위치(index)를 간단한 연산으로 구하는 방법입니다.  쉽게 말해 해시는 Key-value쌍으로 데이터를 저장하는 자료구조입니다.  배열의 Key value를 배열의 요솟수로 나눠 표에

dkanxmstmdgml.tistory.com

 

 


|   알고리즘 

📕 Greedy

        (= 다익스트라 알고리즘)

 

Solving Skill ] Greedy

Greedy  현재 상황에서 가장 좋은 결과를 고르는 방법이다.  최적해를 구하는 데에 사용되는 근사적인 방법으로, 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을

dkanxmstmdgml.tistory.com

 

  [코테에서의 시뮬레이션, 구현, 완탐은 서로 비슷한 점이 多]   

📗 구현

 

Solving Skill ] 구현

구현(Implementation) [이것이 코딩 테스트다 with Python] 14강 구현 유형 개요 "머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정" 어떤 문제를 풀든 소스코드를 작성하는 과정은 필수이므로 구현 문

dkanxmstmdgml.tistory.com

- 완전탐색

일반적으로 탐색해야 할 데이터 개수가 100만개 이하일 때 사용하면 적절합니다.

 

Solving Skill ] 완전 탐색

완전 탐색  가능한 모든 경우의 수를 탐색하고, 조건에 맞는 결과만 가져오는 방법입니다.  (예) 문제 : '1 ~ 100'까지 모든 수의 합을 구하시오.  풀이 : 1 ~ 100까지 모든 수를 더한다. (for문 이용

dkanxmstmdgml.tistory.com

       +) 순열과 조합

 

완탐中 ] 순열과 조합

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.

dkanxmstmdgml.tistory.com

 

 

📘 탐색(Search)

 

Solving Skill ] 탐색

탐색(Search) 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정입니다. 그래프, 트리 등의 자료구조 안에서 탐색을 하는 문제를 자주 다루고, 대표적인 탐색 알고리즘으로는 BFS, DFS가 있습니다

dkanxmstmdgml.tistory.com

 

📙 정렬

 

Solving Skill ] 정렬

정렬(Sorting) "데이터를 특정 기준에 따라 순서대로 나열하는 알고리즘" V 이진 탐색의 전처리 과정이기도 합니다. V 다양한 정렬 알고리즘의 시간 복잡도 🍎 선택 정렬 "가장 작은 것을 선택"하는

dkanxmstmdgml.tistory.com

 

 

📓 이진 탐색

 

Solving Skill ] 이진 탐색

이진 탐색(Binary Search) "탐색의 범위를 반으로 좁혀가며 빠르게 탐색하는 알고리즘" * 탐색 범위가 큰 상황에서 탐색을 해야 할 때 사용하는 것이 좋다. 더보기 ✔ 순차 탐색 (혹은 선형 검색 알

dkanxmstmdgml.tistory.com

 

 

📕 다이나믹 프로그래밍

:  DP에서는 종종 결과를'어떤 수로 나누어 출력하라'라는 내용이 들어가는 경우가 多 

   따라서 값을 계산할 때마다 특정한 수로 나눈 나머지를 check하면 된다.

:  (= 플로이드 워셜 알고리즘)

 

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

다이나믹 프로그래밍(DP) "한 번 계산한 문제는 다시 계산하지 않도록 하는 알고리즘" ✔ 메모리 공간을 약간 더 사용하면 연산 속도를 비약적으로 증가시킬 수 있는 방법. ✔ 코테에서는 간단한

dkanxmstmdgml.tistory.com

 

 

📗 최단 거리

 

Solving Skill ] 최단 경로

최단 경로 "가장 짧은 경로를 찾는 알고리즘" ✔ '길 찾기' 문제 혹은 '가장 짧은 경로를 찾는' 문제라고 불립니다. ✔ 보통 Graph를 이용해 표현합니다. ✔ 실제 코테에서는 단순히 최단 거리를

dkanxmstmdgml.tistory.com

 


|   STL

String, Char

+) 알파벳 & 숫자

+) 숫자->문자 & 문자->숫자

 

Vector

 

Iterator

 

Hash - unordered_map

Hash - map

 

 

| SQL

보호된 글

** 코테 대비용 SQL의 경우 프로그래머스를 풀면 된다.

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

한화시스템 코테 보기 전에 SQL 문법.. 하나도 몰라서 위의 문제 3번 돌리고, 헷갈리는 거 정리했다.

그랬더니 웬만한 SQL 문제는 곧잘 풀었다.

SQL 문제는 체감상 쉬운데, 문제를 꼼꼼히 읽고 한 번 제출 시 틀리지 않는 방향으로 풀어야 좋은 듯 하다.

(한 문제에서 코드 여러 번 제출 시 감점이 있을 수 있기 때문...)

 

 

 

 

 

 

 

댓글