일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- getline
- Django의 편의성
- 자료구조
- 구조체와 클래스의 공통점 및 차이점
- Django란
- vscode
- 엑셀
- scanf
- 백준
- 매크로
- 프레임워크와 라이브러리의 차이
- c++
- 알고리즘 공부방법
- 시간복잡도
- 장고란
- EOF
- 이분그래프
- 연결요소
- Django Nodejs 차이점
- 입/출력
- string 메소드
- 2557
- string 함수
- 표준 입출력
- correlation coefficient
- 입출력 패턴
- double ended queue
- k-eta
- iOS14
- UI한글변경
- Today
- Total
목록알고리즘 (188)
Storage Gonie
int + char 연산을 하면 결과는 자동적으로 둘 중 더 큰 자료형인 int로 변환된다. #include using namespace std; int main() { cout
https://m.blog.naver.com/kks227/220246545025 1. max(), min() 2. max_element(), min_element() 3. swap(), swap_ranges(), copy(), fill() 4. reverse(), rotate(), random_shuffle() 5. for_each(), transform(), generate() 6. find(), find_if(), count(), count_if() 7. replace(), replace_if(), remove(), remove_if() 8. equal(), mismatch(), adjacent_find(), unique() 9. partition(), stable_partition() 10. sor..
# 배열에 적용한 경우 #include #include using namespace std; int main() { int a[5] = {1, 2, 3, 4, 5}; int b[5] = {6, 7, 8, 9, 10}; reverse(a, a+5); // 1 ~ 5 모두 적용 reverse(b+1, a+4); // 7 ~ 9 만 적용 int a_len = sizeof(a)/sizeof(int); //배열은 원소의 개수를 이렇게 계산해줘야함 int b_len = sizeof(b)/sizeof(int); for (int i=0; i < a_len; i++) cout
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1GR7E/btqu137kCpc/JAorcJ0uOUwsQrFh3sAr1K/img.png)
문제 풀이 자세한 풀이 : # C++(나의 풀이) - 나머지를 스택에 저장했다가 역순으로 꺼내는 방식을 사용하였고, 10 이상의 나머지에 대해서 A, B, C, ... 를 출력해줘야 하는 것은 printf("%c") 를 이용하여 해결하였음. #include #include using namespace std; int main() { int N, B; scanf("%d %d", &N, &B); stack st; // B로 나눈 나머지를 스택에 저장하는 부분 while(N != 0) { st.push(N % B); N = N / B; } // 스택에서 나머지를 꺼내주며 출력하는 부분 while(!st.empty()) { if (st.top() >= 10) printf("%c", st.top() + 55); ..
# 정수형 - int : +- 20억(2^31) - long long : +-900경
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b0YVIj/btqu1tL61Lg/VxSkMAvksb4NEyw0YBqlz0/img.png)
문제 풀이 자세한 풀이 : - N개의 수가 주어지면 2개씩 짝지어서 각각의 GCD를 구하여 모두 더하는 문제 - n이 1 ~ 100의 범위이고, n개의 수의 범위는 1 ~ 1,000,000인데, n개인 수들을 2개씩 짝지어 만드는 모든 경우의 수는 n(n-1) / 2 이다. 그러면 이 짝에서 n(n-1) / 2개의 최대공약수들이 나오는데 그 수는 1 ~ 1,000,000의 범위를 가지므로 총 합의 최대범위는 100*99 / 2 * 1,000,000 = 4,950,000,000(49억)이다. 이는 int형의 표현범위 +-21억 을 넘고, unsigned int형의 표현범위 +42억을 넘어서는 값으로 long long 형을 사용해야 한다.(long long 형의 저장범위는 +-900경) # C++ #incl..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/on3jX/btqu14E6oa1/4BolrWgr2zYtGqUjQaMgk1/img.png)
문제 풀이 자세한 풀이 : - A, B는 1 ~ 45,000 이므로 둘 다 최대로 45,000 일 때 A x B = 2,025,000,000 (20억) 이므로 int형의 저장범위를 벗어나지 않기 때문에 자료형은 크게 신경쓰지 않아도 된다. # C++ #include using namespace std; int getGCD(int a, int b) { if (b == 0) return a; else return getGCD(b, a%b); } int main() { int T; cin >> T; for (int test_case = 0; test_case > a >> b; int gcd = getGCD(a, b); // 최대공약수 : 유클리드 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cw3tg6/btqu0vdiQRu/gkhwjZGL3WKqyP50HKqI40/img.png)
문제 풀이 자세한 풀이 : - 최소공배수를 구할 때 A, B는 10,000 이하의 수 라고 하였으므로, 둘 다 최대로 10,000 일 때 A x B = 100,000,000 (1억) 이므로 int형의 저장범위를 벗어나지 않기 때문에 자료형은 크게 신경쓰지 않아도 된다. # C++ #include using namespace std; int getGCD(int a, int b) { if (b == 0) return a; else return getGCD(b, a%b); } int main() { int a, b; cin >> a >> b; int gcd = getGCD(a, b); // 최대공약수 : 유클리드 호제법 사용 int lcm = a*b/gcd; // 최소공배수 : gcd x lcm = A x B..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Rc85f/btquZeiIr5V/1Yf5nBvUz5YLUBYfNxOg1K/img.png)
문제 풀이 자세한 풀이 : # C++ #include using namespace std; int main() { int A, B, C; cin >> A >> B >> C; cout
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9YjDd/btquWL0E8u1/AM50t6upGkvvDN4WoWGlg0/img.png)
문제 풀이 - 자세한 설명 : https://ldgeao99.tistory.com/entry/챕터3-6-다이나믹-프로그래밍-문제-풀이5-백준-No11052-붕어빵-판매하기-문제 # C++(Top-down 방식) - Top-down방식은 전역변수를 사용해야 구현이 쉽다. - Bottom-up방식에서 2중 for문 중 바깥 for문을 제거하고 j를 i로, i를 n으로 수정했다고 생각하면됨. - 재귀적인 호출이 일어날 때는 두번째 if(d[n] > 0) return d[n]; 을 꼭 넣어줘야 한다.(다이나믹 프로그래밍의 필수적요소) #include using namespace std; int d[1001] = {0}; int p[100001] = {0}; int getMaxPrice(int n) { if(n ..