본문 바로가기

C++7

[c++] 'cin.ignore()' 기본 구조'istream' 에 정의 되어 있다.두개의 매개변수를 받을 수 있다.istream& ignore(streamsize n = 1, int delim = EOF);'n (streasize)': 무시할 최대 문자수를 지정한다. 기본값은 1이다.'delim (int)': 입력을 멈출 문자를 지정한다. 기본값은 'EOF(End Of File: 파일의 끝또는 종료) 이다.주 사용 목적1. 버퍼 정리: 'cin'을 사용하고 남은 개행 문자('\n')를 제거 할때 사용한다.'cin'으로 입력 받고 남은 개행 문자를 그대로 두면, 다음 입력에서 개행 문자를 즉시 입력으로 처리한다.2. 특정 문자까지 입력 건너뛰기:입력에서 특정 문자까지 입력을 무시하고 싶을 때(예: 사용자 입력에서 쉼표나 다른 구분자까지 모든.. 2025. 3. 2.
[c++] 알고리즘 문제 입출력 속도 향상 방법 1. 'ios_base::sync_with_stdio(false);''c++'의 'iostream'과 'c'의 'stdio'간의 동기화를 비활성화한다.보통 'c++'의 입출력은 'c'의 입출력보다 느리지만 이 명령어를 사용하면 'c++'의 입출력 속도가 향상된다.하지만 'c'의 입출력 함수('printf', 'scanf' 등)를 같이 사용할 수 없다.'c++'의 입출력 함수('cin', 'cout')만 사용해 주어야 한다.ios_base::sync_with_stdio(false);ios_base::sync_with_stdio(0);- 나는 'false'대신에 '0'을 쓴다.   2. 'cin.tie(NULL);''cin'과 'cout'은 기본적으로 서로 연결 되어 있다. 필요하지 않으면 성능이 저하 될 .. 2025. 3. 2.
[c++] sort sort 함수 해더파일에 속해 있다.#include #include int main() { std::vector vec = {4, 2, 3, 1, 5}; std::sort(vec.begin(), vec.end()); //기본 오름차순 정렬 for (int n : vec) { std::cout 👆 위와 같은 형식으로 사용한다.vec의 요소들이 오름차순으로 정렬 된다.  두 개의 반복자를 인수로 받는다.첫 번쨰는 범위의 시작을, 두번쨰는 범위의 끝을 나타낸다.기본 사용법sort(arr,arr+n); //배열 정렬sort(vec.begin(),vec.end()); //백터 정렬시간 복잡도: 시간 복잡도는 O(NlogN)이다. 'sort' 함수는 퀵, 힙, 삽입 정렬을 혼합.. 2025. 3. 2.
[c++] 팩토리얼 계산하기 순서반복문재귀함수동적 계획법tgamma1. 반복문 사용'for'문을 사용해서 팩토리얼을 계산한다.unsigned long long factorial(int n) { unsigned long long result=1; for (int i=1;장점/단점장점: 구현이 간단하다, 작은 수에서 빠르게 동작한다.단점: 매우 큰 수에 대해 오버플로우가 발생할  수 있다.2. 재귀함수 사용'재귀함수'를 사용해서 팩토리얼을 계산한다.(함수 호출은 n을 하나씩 감소시키며 1에 도달할때 까지 계속한다.)unsigned long long factorial(int n) { if (n==0) return 1; return n*factorial(n-1);}장점/단점장점: 코드가 매우 간결한다.단점: 매우 큰 .. 2024. 4. 28.
[c++] 소수점 자릿수 조절하기 1. 'std::fixed' 와 'std::setprecision'소수점 아래의 자리수를 정확하게 지정할 수 있다.'' 해더 파일에 있다.double num = 3.14159265;cout - 'std::'는 생략한다.   2. 'std::stringstream' 와 'std::setprecision''std::strignstream' 으로 숫자를 문자열로 바꾼다.'std::setprecision' 으로 소수점 자리를 지정해준다.'' 해더 파일에 있다.double num = 3.14159265;stream - 'std::'는 생략한다.   3. 'std::scientific' 와 'std::setprecision'소수점 아래의 자리수를 과학적인 표기법으로 출력할 수 있다.'' 해더 파일에 있다.doubl.. 2024. 2. 21.
[c++] #include <bits/stdc++.h> '#include ''c++'의 표준 라이브러리의 모든 헤더파일을 포함하는 비표준 헤더파일이다.이 헤더파일을 사용하면 개발자는 모든 표준 라이브러리의 모든 기능을 사용할 수 있다.또한 개별 헤더 파일을 일일이 포함시킬 필요가 없어진다. 사용방법'c++'프로그램의 맨 위에 아래처럼 작성한다.#include 이 코드는 모든 표준 라이브러리를 사용할 수 있게 한다. 예를 들어 'vector', 'map', 'set'등을 별도 '#include'없이 사용할 수 있다.  장단점장점단접코드 작성 시간을 줄일 수 있다.컴파일 시간이 늘어날 수 있다.코드의 간결성필요하지 않은 컴파일로 최적화에 영향을 줄 수 있다.모든 라이브러리를 한 번에 포함할 수 있어서 편리하다.표준 c++에 포함되어 있지 않고, GCC외의 컴파일.. 2024. 2. 18.