분류 전체보기
-
[백준] 알고리즘 10989. 수 정렬하기 3 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net #include using namespace std; int n; int a[10001]; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) { int input; scanf("%d", &input); a[input]++; } for (int i = 0; i < 10001; i++) { while (a[i] != 0..
[백준] 알고리즘 10989. 수 정렬하기 3[백준] 알고리즘 10989. 수 정렬하기 3 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net #include using namespace std; int n; int a[10001]; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) { int input; scanf("%d", &input); a[input]++; } for (int i = 0; i < 10001; i++) { while (a[i] != 0..
2021.07.08 -
[백준] 알고리즘 1431. 시리얼 번호 https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 1,000보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루 www.acmicpc.net #include #include using namespace std; string sarr[1000]; int n; int getSum(string s) { int length = s.length(); int sum = 0; for (int i = 0; i < length; i++) { if (s[i] - '0' = 0) sum += s[i] - ..
[백준] 알고리즘 1431. 시리얼 번호[백준] 알고리즘 1431. 시리얼 번호 https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 1,000보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루 www.acmicpc.net #include #include using namespace std; string sarr[1000]; int n; int getSum(string s) { int length = s.length(); int sum = 0; for (int i = 0; i < length; i++) { if (s[i] - '0' = 0) sum += s[i] - ..
2021.07.08 -
[백준] 알고리즘 1181. 단어 정렬 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20, 000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다.주어지는 문자열의 길이는 5..
[백준] 알고리즘 1181. 단어 정렬[백준] 알고리즘 1181. 단어 정렬 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20, 000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다.주어지는 문자열의 길이는 5..
2021.07.08 -
계수 정렬 알고리즘 (Counting Sort) 계수 정렬은 반드시 어떠한 범위안에 존재하는 데이터들로 이루어진 데이터 배열에 한하여 데이터의 크기를 기준으로 카운트하여 정렬하는 알고리즘입니다. 쉽게 말해 기준이 크기 5이하인 데이터 배열로 정수 1, 4, 4, 2, 3 가 들어있다면 크기가 1인 것은 1개, 크기가 2인 것은 1개, 크기가 3인 것은 1개, 크기가 4인 것은 2개로 카운트하여 크기가 작은 순, 혹은 큰 순으로 정렬합니다. 1 4 5 2 2 4 1 3 5 3 위와 같은 수가 있을 때 수들을 오름차순으로 계수 정렬을 해보겠습니다. 1 4 5 2 2 4 1 3 5 3 크기1 | 1 크기2 | 0 크기3 | 0 크기4 | 0 크기5 | 0 1 4 5 2 2 4 1 3 5 3 크기1 | 1 크기..
[알고리즘] 계수 정렬 알고리즘 (Counting Sort)계수 정렬 알고리즘 (Counting Sort) 계수 정렬은 반드시 어떠한 범위안에 존재하는 데이터들로 이루어진 데이터 배열에 한하여 데이터의 크기를 기준으로 카운트하여 정렬하는 알고리즘입니다. 쉽게 말해 기준이 크기 5이하인 데이터 배열로 정수 1, 4, 4, 2, 3 가 들어있다면 크기가 1인 것은 1개, 크기가 2인 것은 1개, 크기가 3인 것은 1개, 크기가 4인 것은 2개로 카운트하여 크기가 작은 순, 혹은 큰 순으로 정렬합니다. 1 4 5 2 2 4 1 3 5 3 위와 같은 수가 있을 때 수들을 오름차순으로 계수 정렬을 해보겠습니다. 1 4 5 2 2 4 1 3 5 3 크기1 | 1 크기2 | 0 크기3 | 0 크기4 | 0 크기5 | 0 1 4 5 2 2 4 1 3 5 3 크기1 | 1 크기..
2021.07.08 -
힙 정렬 (Heap Sort) 힙은 완전 이진트리 기반의 트리형 자료구조로써 최댓값이나 최솟값을 찾아내기 위해 사용됩니다. 힙에는 최대 힙과 최소 힙이 존재합니다. 최대 힙은 부모 노드의 키가 자식 노드의 키보다 같거나 큰 완전 이진 트리이며 최소 힙은 자식 노드의 키가 부모 노드의 키보다 같거나 큰 완전 이진 트리입니다. 힙 구조 생성과 최대 힙 연산에 관해서는 아래 포스팅에서 자세히 설명하였으니 참고하시기 바랍니다. https://yjg-lab.tistory.com/143?category=932096 [자료구조] 우선순위 큐 (priority queue), 히프의 삽입과 삭제 우선순위 큐 (priority queue) 우선순위 큐는 우선순위를 가진 항목들을 저장하는 큐입니다. 일반적으로 큐는 선입선출..
[알고리즘] 힙 정렬 알고리즘 (Heap Sort)힙 정렬 (Heap Sort) 힙은 완전 이진트리 기반의 트리형 자료구조로써 최댓값이나 최솟값을 찾아내기 위해 사용됩니다. 힙에는 최대 힙과 최소 힙이 존재합니다. 최대 힙은 부모 노드의 키가 자식 노드의 키보다 같거나 큰 완전 이진 트리이며 최소 힙은 자식 노드의 키가 부모 노드의 키보다 같거나 큰 완전 이진 트리입니다. 힙 구조 생성과 최대 힙 연산에 관해서는 아래 포스팅에서 자세히 설명하였으니 참고하시기 바랍니다. https://yjg-lab.tistory.com/143?category=932096 [자료구조] 우선순위 큐 (priority queue), 히프의 삽입과 삭제 우선순위 큐 (priority queue) 우선순위 큐는 우선순위를 가진 항목들을 저장하는 큐입니다. 일반적으로 큐는 선입선출..
2021.07.07 -
STL sort() 함수 활용하기 STL이란 C++의 표준 템플릿 라이브러리(Standard Template Libirary)의 약자로써 C++프로그래밍을 위해 제공되는 기본 내장 라이브러리입니다. STL에는 기본 4가지 구성요소로 알고리즘, 컨테이너, 함수자, 반복자를 제공합니다. 그중에서 알고리즘 헤더에서 제공하는 sort() 함수에 대한 활용 방법입니다. #include #include // sort() 함수 사용을 위한 라이브러리 using namespace std; int main() { int a[8] = { 2, 4, 11, 8, 5, 9, 1, 13 }; sort(a, a + 8); for (int i = 0; i < 8; i++) cout
[C++프로그래밍] STL sort, vector, pair 활용하기STL sort() 함수 활용하기 STL이란 C++의 표준 템플릿 라이브러리(Standard Template Libirary)의 약자로써 C++프로그래밍을 위해 제공되는 기본 내장 라이브러리입니다. STL에는 기본 4가지 구성요소로 알고리즘, 컨테이너, 함수자, 반복자를 제공합니다. 그중에서 알고리즘 헤더에서 제공하는 sort() 함수에 대한 활용 방법입니다. #include #include // sort() 함수 사용을 위한 라이브러리 using namespace std; int main() { int a[8] = { 2, 4, 11, 8, 5, 9, 1, 13 }; sort(a, a + 8); for (int i = 0; i < 8; i++) cout
2021.07.06