hljs.initHighlightingOnLoad();

🧑🏻‍💻 Fac si facis

string::erase() 함수의 3가지 사용법 string& erase(size_t pos = 0, size_t len = npos); // pos 부터 len 길이만큼 문자열 제거 iterator erase(const_iterator p); // p에 해당하는 문자열 제거 iterator erase(const_iterator first, const_iterator last); // (first, last] 길이의 문자열 제거 특정 길이만큼 문자열 제거 첫 번째 파라미터로 제거할 문자열의 시작 위치, 두번째 파라미터로 제거할 문자열 길이를 넣습니다. string& erase(size_t pos = 0, size_t len = npos); 다음 예제 코드는 "Nero Blog" 문자열에서 "Nero"를..
string :: operator[ ] string의 pos 위치 문자에 대한 Ref를 반환합니다 아래 예제 코드와 같이 s[j] 에서 s 값의 j번째 위치 문자를 배열처럼 접근하여 반환할 수 있습니다 int main() { cin >> n; for(int i=0 ; i> s; ret = ""; for(int j=0 ; j
Map 의 기본 정렬 상태 map은 key값을 기준으로 오름차순 정렬되어 있습니다. 만일 key값 내림차순으로 변경하기 위해서는 다음의 3번째 인자를 활용해야 합니다. // 키, 데이터, compare map m; Value 기반 정렬하기 map은 tree 형태로 되어 있고, tree 형태를 만드는 과정에서 key를 기준으로 정렬합니다. 완성된 tree를 재정렬하는 sort() 함수는 존재하지 않습니다. pair 기반의 vector에 map이 가지고 있는 pair를 모두 넣고 정렬하면 value 기준 정렬이 가능해집니다. 다음의 두 단계로 진행됩니다. map을 vector로 이동 vector를 second 기준으로 정렬 1. map 을 vector로 이동 2. value 기준 비교 함수 cmp pair를..
분할 정복이란 주어진 문제를 둘 이상의 부분 문제로 나눈 뒤 각 문제에 대한 답을 계산하고 이를 병합해 문제를 해결하는 기법이다. 문제를 즉각 해결할 수 있을 때까지 재귀적으로 둘 이상의 하위 문제들로 나누고(Divide) 문제를 해결한 다음(Conquer) 그 결과를 이용해 다시 전체 문제를 해결하며 합치는 방법이다. 관련 알고리즘 분할 정복 방식으로 해결되는 문제로 다음 알고리즘이 있습니다. 정렬 문제(퀵 정렬, 병합 정렬) 큰 숫자 곱하기(Karatsuba 알고리즘) : n자리 수 2개를 곱하여 결과를 나타내는 알고리즘 이진 탐색 (Binary Search) Closet Pair of Points 문제 : 모든 point 쌍의 거리 중 최소의 거리를 찾는 문제 Strassens's 알고리즘 : 두 ..
코딩 테스트에서 아래와 같이 입력이 붙어있는 경우가 있습니다. string 으로 변환 문자열 s를 받아 문자로 분해(s[j])하여 ASCII 타입 변환(s[j] - '0')으로 int문자 타입 배열 a[i][j] 에 넣습니다. #include using namespace std; int n, m, arr[10][10]; string s; int main() { cin >> n >> m; for(int i=0 ; i> s; for(int j=0 ; j
nerowiki
'분류 전체보기' 카테고리의 글 목록 (18 Page)