일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 표준 입출력
- 구조체와 클래스의 공통점 및 차이점
- 알고리즘 공부방법
- 2557
- Django의 편의성
- iOS14
- Django Nodejs 차이점
- scanf
- string 함수
- string 메소드
- getline
- 자료구조
- 입/출력
- 장고란
- 입출력 패턴
- 매크로
- 연결요소
- UI한글변경
- vscode
- correlation coefficient
- Django란
- double ended queue
- 프레임워크와 라이브러리의 차이
- EOF
- k-eta
- c++
- 시간복잡도
- 백준
- 엑셀
- 이분그래프
- Today
- Total
목록분류 전체보기 (865)
Storage Gonie
문제 풀이 자세한 풀이 : # C++ - 인수분해한 결과에서 2의 개수를 구할때, 바로 이전 문제에서 5의 개수를 구할 때 사용한 방법을 똑같이 사용하면 된다. - 단, i*=2, i*=5의 결과가 int형을 넘을 수 있으므로 long long 형을 사용한다. #include #include using namespace std; int main() { int n, m; // 1 > m; // nCm = n! / m!(n-m)! int two = 0; for (long long i = 2; i
문제 풀이 자세한 풀이 : # C++(나의 풀이) - 팩토리얼을 펼쳤을 때 각각의 수를 소인수분해 해서 5의 개수를 셈 - 이것보다는 백준 풀이가 훨씬 간단하다. #include #include #include using namespace std; int main() { int n; cin >> n; vector vec; for (int i = 1; i
문제 풀이 자세한 풀이 : # C++ #include using namespace std; int factorial(int n) { if (n > n; cout
문제 풀이 자세한 풀이 : # C++ #include using namespace std; int main() { int n; cin >> n; for (int i = 2; i*i
# min_element(), max_element() - 포인터를 반환하기 때문에 결과값을 보기 위해서는 '*'을 꼭 붙여줘야 한다. #include #include #include using namespace std; int main() { vector vec; vec.push_back(1); vec.push_back(3); vec.push_back(4); vec.push_back(5); vec.push_back(2); cout
문제 풀이 자세한 풀이 : # C++ #include #include using namespace std; const int MAX = 1000000; // 6
*아래의 방법을 사용해야 하는 경우는 보통 입출력이 100만개 이상일 때 이다. 1. cin, cout은 scanf, printf보다 속도가 많이 느린데. 아래의 3줄을 추가해 주면 입/출력 속도를 scanf, printf급으로 올릴 수 있다. 단, sync_with_stdio(false)를 사용할 때는 (scanf, printf)와 (cin, cout)을 썪어서 사용하지 말아야한다. 그 이유는 멀티 쓰레드 환경일 경우 sync를 false시켜주면 Thread unsafe해지기 때문에 예상치 못한 순서의 출력이 이뤄질 수 있기 때문. 이와 같은 이유로 또한 sync_with_stdio(false)를 사용할 때는 싱글 쓰레드 환경어야야 한다.(PS는 대부분 싱글 쓰레드 환경) 임시방편의 방법이므로 실무에서..
문제 풀이 자세한 풀이 : # C++(나의 풀이) - endl을 썼다가 시간초과가 났으므로 "\n"을 사용하자. - i*i 대신 i*2로 해준 방식으로 중복적인 연산이 존재하기 때문에 아래의 방식보다 불리하기 때문에 4ms정도 더 소요되지만 크게 문제될 정도의 시간이 아니기 때문에 소수를 수집하여 컨트롤하기 좋은 이 방식을 선호하여 사용하는 것이 좋다. #include #include using namespace std; int main() { int m, n; // 1 > n; vector check(n+1); // 초기값은 defualt로 false임 vector prime_vec; check[0] = true; check[1] = true; for (int i = 2; i = m) prime_vec..
문제 풀이 자세한 풀이 : # C++ => O(N루트N) - N = 100, 'N루트N' = 1000으로 1억에 못미치는 값이므로 문제없다. #include #include #include using namespace std; bool is_prime(int n) { bool flag = true; if (n n; vector vec(n); for (int i = 0; i > vec[i]; int count = 0; for (int i = 0; i < n; i++) { if(is_prime(vec[i])) count ++; } cout O(N^2) - N = 100, 'N^2' = 10000으로 1억에 못..
# 틀렸습니다 1. 입력이 0일 때의 처리를 해주지 않은 경우 => 입력이 0일 때를 처리해줌 2. 데이터의 저장범위를 넘어서는 오버플로우가 발생한 경우 int -> long long 변경해줌 # 런타임 오류 1. 배열의 크기를 너무 작게 선언한 경우 => 배열의 크기를 키움 # 시간초과 1. endl -> "\n"으로 변경해줌 2. cin, cout을 사용하고 있다면 아래의 3줄 추가해주기 ios::sync_with_stdio(false) cin.tie(NULL); cout.tie(NULL); 3. 알고리즘을 좀 더 효율적으로 변경하기