분류 전체보기(21)
-
코드트리 조별과제 문제풀이(두 숫자의 차의 최솟값, 합을 옆으로 밀어 출력,알파벳 지우기)
우선 첫번째 문제는 두 숫자의 최솟값 문제입니다.https://www.codetree.ai/missions/4/problems/minimum-difference-between-two-numbers/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai n개의 숫자가 오름차순으로 주어집니다. 이 중 서로다른 두 개의 숫자를 골랐을 때, 두 숫자의 차가 최소가 되는 경우의 그 차이를 출력하는 프로그램을 작성하면 됩니다.. 숫자들이 오름차순으로 들어오기 때문에 연속된 두 수만 비교하면 된다, 코드로는 이렇게 구현 합니다. #include #in..
2024.08.05 -
자료구조_14.탐색(2)
MAPMap은 자료를 저장하고 키를 이용해 원하는 자료를 빠르게 찾을 수 있도록 하는 자료구조 입니다.key에 대응하는 value도 같이 저장하는 컨테이너입니다.#include에 들어있습니다. 중복저장을 되지 않고 전체 조회시 정렬된 상태로 출력이 됩니다.추가, 탐색, 삭제 시간 복잡도는 O(log n)입니다. 그 이유는 검색트리의 작업들은 트리의 높이(깊이)와 밀접한 관련이 있습니다.균형 이진 검색 트리는 O(log n)-시간 검색, 삽입, 삭제를 보장해줍니다. 해시테이블다른 탐색 방법들은 키 값 비교하여 항목에 접근하고키 값의 연산에 의해 직접 접근이 가능한 구조입니다. 해시테이블은 배열과 비슷하게 여러 자료를 담을 수 있는 메모리 공간 할당입니다. 하지만 다른점은 인덱스가 아닌 키를 사용하여 ..
2024.07.31 -
자료구조_13.탐색(1)
탐색이란여러 개의 자료 중에서 원하는 자료를 찾는 작업입니다.컴퓨터가 가장 많이 하는 작업중의 하나이기에탐색을 효율적으로 수행하는 것은 매우 중요합니다 이진탐색 이진탐색은 우선 시작과 끝의 합을 나누기 2 해서 중앙값를 찾습니다.그리고 구한 중앙값을 타겟과 비교하여 타겟보다 큰 경우 미드를 시작으로 하여 미드보다 큰 값중에서 또 타겟을 찾습니다.(작은경우 끝으로 바꿈)위의 GIF를 기준으로 설명하자면미드인 4와 타겟인 5를 비교하면 5가 더 크기에시작값을 4에 1을 더한 5로 바꿉니다 그 이후 미드인 7과 5를 비교합니다.미드값이 타겟보다 크기에 끝을 6으로 바꿉니다.그 다음미드인5와 5를 비교하여 같기 때문에 탐색이 완료되는 상황입니다. 이진탐색의 단점은 꼭 정렬이 되어있어야 한다는 점입니다. 시간..
2024.07.29 -
자료구조_12.정렬
정렬은 자료를 순서대로 정리 해주는 것을 말합니다.정렬의 종류를 알아보고 구현 방식을 알아보겠습니다. 버블정렬 버블정렬은 앞의 자료와 뒤의 자료의 크기를 비교하여더 큰 수를 뒤로 보내는 정렬 방식입니다. 코드는 이렇게 구현하면 됩니다.#pragma region "bubble"int main() { int a[101], n, i, j, tmp; cin >> n; for (i = 0; i > a[i]; } for (i = 0; i a[j+1]) { tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } } } for (i = 0; i 선택정렬 선택정렬은 가장 배열중 가장 작은 수를 찾아그 수를 배열의 맨 앞으로 보내는 정렬입니다.선택 정렬의 구현 방식은 이..
2024.07.27 -
백준 문제풀이 9012번 괄호 문제(C++)
https://www.acmicpc.net/problem/9012#include#includeusing namespace std;int main() { int num; cin >> num; while (num--) { stack s1,s2; string s; cin >> s; for (char c : s) { if (c == '(') s1.push(0); else if (s1.empty() && c == ')') { s1.push(0); break; } else { s1.pop(); } } if (s1.empty()) { cout
2024.04.30 -
백준 문제풀이 2164번 카드 2 문제(C++)
https://www.acmicpc.net/problem/2164#include#include#includeusing namespace std;int main() { int n; cin >> n; queue q1; for (int i = 1; i
2024.04.30