Dolphins의 HelloWorld
알고리즘문제를 풀며 원하는 기준에 따라 정렬한 후 하나씩 추출하고자할 때 priority_queue를 쓰면 어렵지않게 문제를 풀 수 있다. 가장 간단한 형태로써 priority_queue pq; 라고 선언했을 때는 우선순위 안에 있는 수 중에서 가장 큰 수를 추출해낼 수 있다. 아래의 코드는 그 예시이다. #include #include using namespace std; int main() { priority_queue pq; pq.push(10); pq.push(39); pq.push(23); pq.push(2); pq.push(44); while (!pq.empty()) { printf("%d ", pq.top()); pq.pop(); } } 실제로 우선순위 큐를 구현하는 가장 일반적인 형태는 p..
힙은 완전이진트리를 바탕으로 한 자료구조로써 부모노드가 자식노드보다 크도록 설정해주면 최대힙 그 반대면 최소힙이라고 한다. 만약 최대힙을 구현했다면 루트노드에는 새로운 수를 삽입하든 삭제하든 가장 큰 수가 위치하게된다. 힙에대한 개념이 부족하다면 힙을 공부해보고 힙 소트를 한번 구현해볼 것을 권한다. 어쨌든 이러한 힙의 성질은 우선순위 큐와 일치하며 c++에서 제공하는 라이브러리를 통해 쉽게 문제를 풀 수 있다. #include #include using namespace std; int main() { int N; int num; priority_queue>int> N; while (N--) { cin >> num; if (!num) { pq.empty() ? printf("0\n"..
* 파이썬에서는 문자열을 색인( index)를 통해 접근할 수 있다. 아래의 코드에서 색인을 통해 접근하고 출력하는 모습을 확인할 수 있다. exp = 'example' print(exp[0]) #인덱스는 0부터 시작한다. print(exp[1]) print(exp[5]) * len 함수를 통해 문자열의 길이를 알 수 있다. 아래는 len함수의 활용을 통해 list에서 가장 큰 수를 추출하는 프로그램이다. mylist = [5,20,3,77,2,1] max = -1 for n in range(len(mylist)): # 0 부터 mylist의 길이 -1 까지 검사한다. if(mylist[n] > max): max = mylist[n] print(max) * 문자열의 일부를 가져오는 방법 파이썬에서는 대괄..