본문 바로가기

STL4

[알고리즘-12] 스택(Stack), 큐(Queue) 안녕하세요 기린입니다 :) 이번 시간에는 스택과 큐를 배워보겠습니다. 스택(Stack)과 큐(Queue)는 컴퓨터 공학에서 가장 기본이 되는 자료구조입니다. 말 그대로 자료를 표현하고 처리하는 방법에 관한 것입니다. 예를 들자면 스택은 택배 상하차를 생각하시면 되고, 큐는 은행 창구를 생각하시면 됩니다. 먼저, 스택부터 확인해봅시다. 어렵지 않은 개념이니 천천히 생각해보시죠 :] 스택은 아래와 같이 출구가 하나밖에 없는 상태로 표현할 수 있습니다. 첫 번째 명령어 삽입(7)이 실행되면 7이 삽입됩니다. 다음 명령어 삽입(5)이 실행되면 위와 같습니다. 이후에 원소 4가 삽입됩니다. 이제 명령어 삭제()가 수행되는데, 삭제할 때는 항상 가장 최근에 들어간 원소가 나갑니다. 이후에 원소 6이 삽입됩니다. 결.. 2022. 4. 19.
[알고리즘-11] 심화 정렬 문제 풀어보기 안녕하세요 기린입니다 :) 이번에는 지난 시간까지 배운 정렬들을 활용하여 백준 온라인 저지 https://www.acmicpc.net/ 에 있는 심화 정렬 문제들을 풀어보고자 합니다. 실제 프로그래밍 대회나 실무에서 요구하는 대부분의 정렬 문제는 단순한 형태의 정렬 문제가 아닙니다. 다양하게 연관된 데이터 상에서 정렬을 수행해야 하는 문제가 대부분입니다. 따라서 심화적인 정렬 문제들을 풀어보면서 연습하는 시간이 필요합니다. ① 단어 정렬 https://www.acmicpc.net/problem/1181 위 문제는 단어들을 정렬하는 문제입니다. 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 1. 길이가 짧은 것부터 2. 길이가 같으면 사전 순으로 .. 2022. 4. 12.
[알고리즘-8] C++ STL sort 함수 다루기 - ② 안녕하세요 기린입니다 :) 오늘은 지난 시간에 이어서 STL sort 함수 다루기를 진행해보도록 하겠습니다. 2022.03.29 - [알고리즘/문제집] - [알고리즘-7] C++ STL sort() 함수 다루기 - ① [알고리즘-7] C++ STL sort() 함수 다루기 - ① 안녕하세요 기린입니다 :) 지금까지 선택 정렬, 버블 정렬, 삽입 정렬, 퀵 정렬, 병합 정렬의 개념을 이해하고 간단한 예시를 통해 프로그램까지 작성하는 시간을 가졌습니다. 자 이번엔 C++ STL sor kirinit.tistory.com 지난 시간에 클래스(Class)를 정의해서 여러 개의 변수가 존재하는 상황에서 '특정한 변수'를 기준으로 정렬하는 방법에 대해 알아보았죠 :) 하지만, 클래스를 정의하는 방식은 프로그래밍 속.. 2022. 3. 30.
[알고리즘-7] C++ STL sort() 함수 다루기 - ① 안녕하세요 기린입니다 :) 지금까지 선택 정렬, 버블 정렬, 삽입 정렬, 퀵 정렬, 병합 정렬의 개념을 이해하고 간단한 예시를 통해 프로그램까지 작성하는 시간을 가졌습니다. 자 이번엔 C++ STL sort 함수에 대해 알아 보도록 하겠습니다. 정렬은 컴퓨터 공학의 오래된 연구 분야이므로 아주 훌륭한 정렬 라이브러리들이 존재하죠. 즉, 앞서 직접 코딩했던것 처럼 할 필요 없이 라이브러리를 가져다 쓰면 되는 것입니다. 그치만 기본적인 정렬 원리에 대해서는 잘 알고있어야 문제해결능력에 도움이 될거라 생각합니다. 이제 sort 함수의 사용법을 소스코드로 보시겠습니다 #include #include using namespace std; int main(void) { // 입력 int a[10] = {2, 3, .. 2022. 3. 29.