일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- chatgpt #gpt #챗지피티 #ai
- /
- 도커 #docker #docker-compose.yml #도커컴포즈 #배포 #spring #mysql #docker-compose
- 도커 #Docker #배포 #Spring #MySQL #백엔드배포
- Today
- Total
목록분류 전체보기 (98)
개발자 데뷔!
재귀(recursion); 자기자신(함수)를 반복해서 호출함으로써 반복문의 기능을 대체하고, break point를 자유롭게 설정함 경우의 수 / 순열 / DFS / BFS 로 응용할 수 있다. 재귀사용 기본 //Level 20 //1번 void bbq(int cnt) { if (cnt >= 5) return; bbq(cnt + 1); } int main() { bbq(0); return 0; } // Level 21 //3번 void recur(int level, int branch, int LV) {// level, branch는 입력받은 값 //LV 은 현재 상황 if (LV == level)// level은 트리의 깊이 (몇번이나 재귀 안으로 깊숙히 들어가는가) return;// branch는 가..
더블 포인터 사용 //4번 int main() {// 더블 포인터 int G; int* p; int* K; int** t; int** Q;//포인터를 포인팅 하려면 더블 포인터 사용 p = &G; K = &G; t = &p; Q = &K; cin >> G; cout
2차원 배열 맵에서, 상-하-좌-우 방향으로 움직이고, 벽 및 장애물에 의한 움직임을 막기위한 알고리즘 Direct 사용 //Level 19 //1번 int main() {//Direct 제일 기본 문제 int Direct[4][2] = { 0,-1,1,0,0,1,-1,0 };// 좌표 값 정리해둔 배열 int arr[3][3] = { 3,5,4,1,1,2,1,3,9 }; int y, x; int sum = 0; cin >> y >> x; for (int t = 0; t 3 || cx>3)//범위 벗어나면 짤 continue;// 이번 차례..
DAT : Direct Addressing Table 각 값이 저장되어있는 배열의, 해당 값을 그대로 index로 사용한 또다른 배열에 그 값의 count 개수를 저장하는 방식 int dat[10] ={0}; // DAT 에서 0초기화가 매우 중요 !!! *** DAT 사용 - 있는 문자 표시 하기 //Level 18 //1번// Direct Addressing Table int main() { char CardList[16]; int dat[100] = { 0 };// 문자를 index로 받는 배열 int i = 0; int cnt = 0; cin >> CardList; while (CardList[i] != '\0') { dat[CardList[i]] = 1;//dat[index]가 1로 바뀜 i++..
두 문자열 같은지 비교 //6번 // 다르면 return 하는 함수 int isSame(int a[4], int b[4]) { for (int i = 0; i > input[i]; } if (isSame(password, input) == 1) cout arr[i]; } //merge// 두문자열 merge하는 법 !!! 정리 !!!*** while (arr[0][j1] != '\0') { j1++; } for (int i = 0; i < j1;..
- 세번째 행 만 비워짐 int arr[4][4] = { {3,4,1,6},{3,5,3,6},{0},{5,4,6,0} };//세번째 line 비어져 있음 !!! - 한 배열 선언에 다양한 선언법 사용 char arr[2][6] = { {4,5,7,1,3,2},'D','F','Q','W','G','Z' }; - 일부만 값 입력후, 나머지 비워두기 char arr[2][3] = { 'G','K','G' };// 6개 공간 중 3개만 입력하면, 앞에서 부터 차례로 쌓이고 나머지 공간 그대로 둠
// a 변수가 0xA1에 저장되어있고, b를 가리키고 있으며, // b 변수가 0xB6에 저장되어있을 때 , // a: a가 가리키는 b의 주솟값 (0xB6) // &a: a의 주솟값(0xA1) // *a: a가 가리키는 b의 '값', 값이 저장되어있지 않을시, 다시 변수 b가 가리키는 변수의 주솟값 포인터 변수 선언 ** 주의! 포인터 변수는, 일일이 하나씩 전부 선언해주어야한다! char* ap, * bp, * cp;// O // char * ap,bp,cp;// X 이렇게 한번에 하면 제일 앞에만 포인터 걸림 !! 포인터 연산 가능 ) *p += 1; (*p)++; 불가능) *p++; // 왜냐하면 이것은 *(p++)과 같아, p주소값에 1을 더한다는 뜻!!! 포인터 사용 // 그냥 변수와 포인터..
구조체 사용 // 1. 구조체 정의 struct ABC {// 함수와 다르게 () 안붙임! int x;//멤버 int y; };// 여기도 세미콜론!!! ; ABC t;//2. 구조체 변수 선언 cin >> t.x >> t.y;// .으로 멤버 접근 ! // 2. 구조체 선언 후 요소 변경 struct PROJECT { int num; char id; int vect[4]; }; PROJECT z; int a; cin >> a; if (a < 10) {//***** 이문제 매우 중요 !!!!!! z.num = 5; z.id = 'G'; // z.vect = { 1,2,3,4 };// 배열을 위의 구조체 안에서 이미 초기화 했으므로 ={1,2,3,4}같은 식으로 지정 못함 z.vect[0] = 1;// 한..