컴퓨터공학/알고리즘 공부
Quick Sort 퀵소트
arr = [10, 80, 30, 90, 40, 50, 70] def partition(l, r): pivot = nums[(left + right) // 2] while l pivot: r -= 1 if l = r: return pivot = partition(l, r) quickSort(l, pivot - 1) quickSort(pivot, r) quickSort(0, len(arr)-1) print(arr) arr = [10, 80, 30, 90, 40, 50, 70] def partition(start, end): pivot_idx = start pivot = arr[start] while start < end: while start < len(arr) and arr[start] pivot: en..
230. Kth Smallest Element in a BST Leet Code 문제 풀이
Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Note: You may assume k is always valid, 1 ≤ k ≤ BST's total elements. Example 1: Input: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 Output: 1 Example 2: Input: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1 Output: 3 Follow up: What if the BST is modified (insert/delete operations) often ..
1949. [모의 SW 역량테스트] 등산로 조성 (SwExpertAcademy) 삼성 모의 테스트
1949. [모의 SW 역량테스트] 등산로 조성 (SwExpertAcademy) 삼성 모의 테스트 1949. [모의 SW 역량테스트] 등산로 조성 시간 : 50개 테스트케이스를 합쳐서 C의 경우 3초 / C++의 경우 3초 / Java의 경우 3초 / Python의 경우 15초 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내 ※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. 등산로를 조성하려고 한다. 등산로를 만들기 위한 부지는 N * N 크기를 가지고 있으며, 이곳에 최대한 긴 등산로를 만들 계획이다. 등산로 부지는 아래 [Fig. 1]과 같이 숫자가 표시된 지도로 주어지며, 각 숫자는 지형의 높이를 나타낸다. 등산로를 만드는 규칙은 다음과 같다. ①..
벡터 Vector C++
#include #include #define _CRT_SECURE_NO_WARNINGS #pragma warning(disable:4996) using namespace std; template class veCtor { public: int capacity; // capacity :: 용량 int sz; // size -> sz T* vc; veCtor() { capacity = 8; sz = 0; vc = new T[capacity]; } ~veCtor() { if (sz != 0) delete[] vc; } void push_back(int v) { // 꽉차있을 때 if (capacity == sz) { capacity *= 2; T* tmp = new T[capacity]; for (int i..
[BOJ] 13565 침투 알고리즘 스터디 11월 21일
오늘 풀 문제는 침투 --> 백준에서 가져왔고 아래 주소가 있습니다. https://www.acmicpc.net/problem/13565 침투한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율1 초512 MB165462847740.979%문제인제대학교 생화학연구실에 재직중인 석교수는 전류가 침투(percolate) 할 수 있는 섬유 물질을 개발하고 있다. 이 섬유 물질은 2차원 M × N 격자로 표현될 수 있다. 편의상 2차원 격자의 위쪽을 바깥쪽(outer side), 아래쪽을 안쪽(inner side)라고 생각하기로 한다. 또한 각 격자는 검은색 아니면 흰색인데, 검은색은 전류를 차단하는 물질임을 뜻하고 흰색은 전류가 통할 수 있는 물질임을 뜻한다. 전류는 섬유 물질의 가장 바깥쪽 흰색 격자들에 공..
[CodeForce] Water The Garden .A 알고리즘 스터디
알고리즘 스터디 두번째 풀어볼 문제는 아래 주소를 적어 두었습니다. http://codeforces.com/contest/920/problem/A A. Water The Gardentime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputIt is winter now, and Max decided it's about time he watered the garden.The garden can be represented as n consecutive garden beds, numbered from 1 to n. k beds contain water taps (i-th tap is loc..
[BOJ] 백준 문제풀이 15649 N과M(1)
알고리즘 스터디 :DFS와 BFS 기초를 다지기 위해서 쉬운 문제 부터 하나하나 차근차근 접근 해보려고 합니다. 종만북은 문제 풀이로 병행을 하려하고, 나머지는 이제 하나하나 볼 것입니다. 우선, DFS 문제를 푸려고 하는데, 제 코딩 스타일이 알고리즘에 최적화 되있지 않다고 조언을 들었습니다. 시간 단축과 알고리즘 구현 단순화를 위해서STL을 같이 공부할거에요. 암튼 ... 아래 문제를 풀었습니다. N과 M (1) 성공시간 제한메모리 제한제출정답맞은 사람정답 비율1 초512 MB129480457265.148%문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열입력첫째 줄에 자연수 N과 M이..
[알고리즘 문제 해결 전략] Part 1. 6장 무식하게 풀기 [소풍]
지난번엔 보글게임을 공부했습니다. 다음 문제인 소풍을 공부하려고 합니다. https://algospot.com/judge/problem/read/PICNIC 6.3 문제 : 소풍 (ID : PICNIC, 난이도: 하)문제 내용은 다음과 같아요. 소풍 ID : PICNIC 문제안드로메다 유치원 익스프레스반에서는 다음 주에 율동공원으로 소풍을 갑니다. 원석 선생님은 소풍 때 학생들을 두 명씩 짝을 지어 행동하게 하려고 합니다. 그런데 서로 친구가 아닌 학생들끼리 짝을 지어 주면 서로 싸우거나 같이 돌아다니지 않기 때문에, 항상 서로 친구인 학생들끼리만 짝을 지어 줘야 합니다.각 학생들의 쌍에 대해 이들이 서로 친구인지 여부가 주어질 때, 학생들을 짝지어줄 수 있는 방법의 수를 계산하는 프로그램을 작성하세요...