본문 바로가기

Programming86

알고리즘 스터디 10 https://programmers.co.kr/learn/courses/30/lessons/12930?language=cpp 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수.. 2020. 7. 2.
typedef보다 별칭 선언 typedef std::unique_ptr UPtrMapSS;// C++98 using UPtrMapSS = std::unique_ptr;// C++11 typedef와 별칭 선언이 하는 일은 동일하다. 먼저, 함수 포인터가 관여하는 형식을 다룰 때는 별칭 선언 쪽을 더 쉽게 하는사람들이 많다. // FP는 int 하나와 const std::string& 하나를 받고 아무것도 돌려주지 않는 함수와 동의어이다. typedef void (*FP)(int, const std::string&);// typedef using FP = void (*)(int, const std::string&);// 별칭 선언 2, 3열은 동일한 의미이다. 하지만 사실 둘다 어려운건 마찬가지다. 별칭 선언이 강력한 이유는 템플릿에.. 2020. 7. 1.
알고리즘 스터디 9 https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 사항 .. 2020. 7. 1.
0과 NULL 보다 nullptr 리터럴 0은 int이며 포인터가 아니다. 또한 NULL도 포인터 형식이 아니다. C++98에서 0이나 NULL로 중복 적재 함수를 호출했을 때, 포인터를 받는 중복적재가 호출되는 일은 없다. void f(int); void f(bool); void f(void*); f(0);// f(void*)가 아닌 f(int) 호출 f(NULL);// 컴파일 되지 않을 수도 있지만, 보통은 f(int)호출 f(NULL)의 행동에 관련된 불확실성은 NULL의ㅏ 구체적인 형식을 구현의 재량에 맡긴 결과이다. 여기서 주목할 점은, 소스 코드의 외관상 의미(NULL, 즉 널 포인터로 f를 호출한다)와 실제 의미(널 포인터가 아닌 어떤 정수로 f를 호출한다)가 서로 모순된다는 것이다. nullptr의 장점은 정수 형식이 아니.. 2020. 6. 30.
알고리즘 스터디 8 https://programmers.co.kr/learn/courses/30/lessons/12916 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자.. 2020. 6. 30.
C++ STL 정리 *알고리즘 공부하면서 계속 레퍼런스 찾기 귀찮아서 하나씩 정리할 생각입니다 range 안에서 최소/최대값의 주소값을 반환 min_element() max_element() vector = v; int max = *max_element(v.begin(), v.end()); int min = *min_element(v.begin(), v.end()); 벡터의 중복 원소 제거 unique 사용 unique는 중복제거를 하고, 마지막 원소의 iterator 값을 리턴 vector v; sort(v.begin(), v.end()); v.resize(unique(v.begin(), v.end()) - v.begin()); 벡터 부분합 partial_sum #include partial_sum(a[i].begin().. 2020. 6. 29.