일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 엑셀
- 백준
- 입출력 패턴
- EOF
- Django Nodejs 차이점
- 표준 입출력
- 이분그래프
- 2557
- Django의 편의성
- Django란
- k-eta
- scanf
- 알고리즘 공부방법
- 시간복잡도
- 프레임워크와 라이브러리의 차이
- UI한글변경
- 입/출력
- double ended queue
- 구조체와 클래스의 공통점 및 차이점
- 자료구조
- c++
- 장고란
- getline
- string 메소드
- iOS14
- 연결요소
- 매크로
- correlation coefficient
- string 함수
- vscode
- Today
- Total
목록분류 전체보기 (865)
Storage Gonie
문제 풀이 * 입력받은 수를 전부 다 입력 받아서 저장하게 되면 제한된 8MB의 메모리를 초과해버린다. 숫자를 카운트 해두었다가 표준출력으로 출력만 해주는 방식을 사용해야한다. (10^7 * 4byte = 40MB이므로) # C++ #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int T; cin >> T; int arr[10001] = {0}; // 숫자 개수 카운트 for(int i = 0 ; i > a; arr[a] += 1; } // 각 숫자를 개수만큼 출력해주기 for(int i = 1 ; i
용도 : 두 개 이상의 타입을 하나로 묶어줌, pair의 확장버전이라고 생각하면됨. 1. 헤더파일 #include 2. 변수 선언 및 값 변경 #include #include using namespace std; int main() { tuple t1 = make_tuple(1,2,3,4); tuple t2 = make_tuple(5,6,7,8); cout
문제 풀이 # C++(tutple, sort( , ,비교함수) 이용) - 중첩된 if문을 사용하지 않으므로 실수를 방지할 수 있다. #include #include #include #include using namespace std; struct Person{ string name; int kor, eng, math; }; bool cmp(const Person &u, const Person &v){ return make_tuple(-u.kor, u.eng, -u.math, u.name) > T; vector vec(T); for (int i = 0; i < T; i++) c..
문제 풀이 # C++(pair, stable_sort(, , 비교함수) 사용) - 가장 간단 #include #include #include #include using namespace std; bool cmp (pair u, pair v) { return u.first > T; vector vec(T); for (int i = 0; i > vec[i].first >> vec[i].second; stable_sort(vec.begin(), vec.end(), cmp); for (int i = 0; i > vec[i].second; stable_sort(vec...
문제 풀이 자세한 풀이 : # C++(pair, vector, sort 사용 : first second 를 뒤바꿔 입력받아 정렬한뒤 출력 때 다시 뒤집어 출력하는 방식) - 가장 간단 #include #include #include #include using namespace std; int main() { int T; cin >> T; vector vec(T); for (int i = 0; i > vec[i].second >> vec[i].first; sort(vec.begin(), vec.end()); for (int i = 0; i > vec[i].second; sort(vec.begin(), vec.end(), cmp)..
문제 풀이 자세한 풀이 : # C++(pair, vector, sort 이용) - 이 문제에서 가장 간편한 방법 #include #include #include #include using namespace std; int main() { int T; cin >> T; vector vec(T); for (int i = 0; i > vec[i].first >> vec[i].second; sort(vec.begin(), vec.end()); for(int i = 0; i > vec[i].y; sort(vec.begin(), vec.end(), cmp); for (int i = 0; i > vec..
용도 : 두개의 타입을 하나로 묶어줌 1. 헤더파일 #include 2. 변수 선언 - 값을 할당하는 방법은 2가지 방법중 선택가능 pair p1; // 사용 예시 : 문자 빈도수 계산후 저장 용도 p1.first = 10; p1.second = 'c'; pair p2; // 사용 예시 : 문자 빈도수 계산후 저장 용도 p1.first = 10; p1.second = "sample"; pair p3; // 사용예시 : x, y 좌표 같은 것 p3 = make_pair(40, 30); 3. vector타입을 이용한 pair 배열 vector vec; vec.push_back(make_pair(20, 30)); vec.push_back(make_pair(10, 15)); vector vec(2); vec[0..
문제 풀이 자세한 풀이 : # C++(방법1 : Quick Sort 직접 구현 - lomuto partition 알고리즘 사용) #include using namespace std; int a[1000000]; void swap(int &x, int &y) { int z = x; x = y; y = z; } int choosePivot(int low, int high) { return low + (high-low)/2; // 중간 index 반환 } /* i와 j가 모두 증가하는 Lomuto Partition방식의 구현으로 swap을 진행하고 분할기준점을 반환함*/ int partition(int low, int high) { int pivotIndex = choosePivot(low, high); //..
문제 풀이 자세한 풀이 : https://ldgeao99.tistory.com/entry/챕터3-11-DP-문제-풀이10-백준-No2156-포도주-시식 # C++(Bottom-up방식 - 2차원 배열 사용) #include #include using namespace std; int arr[10001]; int d[10001][3]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; for (int i = 1; i > arr[i]; d[1][1] = arr[1]; // 1잔만 있을 경우 최대 값은 1잔을 마시는 것이므로. d[2][0] = arr[1]; // 2잔만 있을 경우 2번째 자리의 상태..
문제 풀이 자세한 풀이 : https://ldgeao99.tistory.com/entry/챕터3-10-DP-문제-풀이9-백준-No9465-스티커 # C++(Bottom-up방식) - max함수 쓸 때 STL은 인자 2개만 받는 것으로 정의되어있으니 2개씩 나눠서 해줘야 한다. #include #include using namespace std; int arr[100001][2]; // N번째라는 용어를 사용하여 알고리즘을 생각했으므로 index를 [1~100000][0~1] 를 사용할 수 있도록 함 int d[100001][3]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int T; cin >> T; for (int..