일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
목록알고리즘 & 자료구조/알고리즘 (Algo) (7)
개발자 데뷔!
자료형 알아보기 // 라이브러리 #include // 사용 cout char char 문자열 // 라이브러리 포함 #include // strcmp 함수 strcmp(a,b) * char 한글자는 == 으로 비교 ! string 함수 // erase str.erase(시작위치, 크기) str.erase(str.begin() + 2)// 특정위치의 문자 지우기 (char pointer 이용해) str.erase(str.begin(), str.begin()+2)// 특정범위의 문자지우기 // insert str.insert(시작위치, 추가할 문자열) // append str.append(추가할 문자열)// 제일 뒤에 따라붙음 // char 안되고 string 만됨 SubString, Parsing strin..
// 그래프의 화살표를 배열로 표시 !! // 행(col)은 (화살표가 가리키는 사람) // 렬(row)는 화살표 몇개 받았는지 세는 데 씀 !! 단순 그래프 [인접행렬] EX) // Level 28 // 1번`// 인접행렬 **** int main() { char names[5][10] = { "Amy","Bob","Chloe","Diane","Edger" }; // 화살표를 배열로 표시 !! (좋아하면 1 ) // 행(col)은 내가 좋아하는 사람 (화살표 가리키는 사람) // 렬(row)는 화살표 몇개 받았는지 세는 데 씀 !! int arr[5][5] = { 0,1,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0 }; int maxidx = 0, count..
Shift Left / Shift Right // Level 23.5 //1번 int arr[5] = { 3,5,1,9,7 };// Shift Left, Shift Right 정리 해놓음 !! void belt(char A) { int tmp; // Shift Right if (A == 'R') { //swap tmp = arr[4];// 마지막 문자 미리 저장 for (int i = 3; i >=0; i--) { arr[i + 1] = arr[i]; } arr[0] = tmp; } // Shift Left else if (A == 'L') { //swap tmp = arr[0];// 첫번째 문자 미리 저장 for (int i = 0; i < 4; i++) { arr[i] = arr[i+1]; } arr..
재귀사용 기본 // Level 21 //3번 void recur(int level, int branch, int LV) {// level, branch는 입력받은 값 //LV 은 현재 상황 // level은 트리의 깊이 (몇번이나 재귀 안으로 깊숙히 들어가는가) if (LV == level) return; // branch는 가지의 개수 (재귀가 몇번이나 반복되는가 ) for (int i = 0; i > level >> branch; // 재귀실행 recur(level,branch,0); } Path 추가 // Level 22 //3번 int path[10];..
재귀(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는 가..
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++..