본문 바로가기

Programming175

[배리어프리] #05. 2차 발표 자료 제출 완료 2022-06-17 기말고사 기간이 끝나고, 처음으로 팀원들과 오프라인으로 회의를 했다. 좋은 기회로 직접 만나게 되니 설레고 기분이 좋았다. 간단히 저녁을 먹고, 카페에서 자세한 면접 대비 내용을 결정했다. 1. 기술 스택 ▷ 프론트엔드 : React Native ▷ 백엔드 : Node.js + express ▷ DB : MySql 처음으로 백엔드 파트와 협업하는 거라서 백 쪽으로는 너무 지식이 없었다는 걸 느꼈다. 이번 기회로 백엔드가 어떻게 돌아가는지 전반적으로 알아볼 수 있었다. 백엔드는 db를 다루는 부분과, db를 프론트와 연결하는 웹서버 부분으로 구성되어 있었다. 이번학기 데이터베이스 강의에서 배운 mysql은 실제로 db의 뼈대를 구축하는 언어이고, node.js와 같은 언어로 이 db가 .. 2022. 6. 20.
[c++ 줍줍] vector 정리 1. Definition of Vector 1-1. Vector의 등장 배경 배열을 사용하려면 동적 할당을 해줘야 하는 C " 귀찮 " ex ) int *arr = malloc(sizeof(int) * size); // element의 type * size 만큼 동적 메모리 할당 free(arr); // 마지막에 동적 할당한 메모리를 해제시킴 1-2. Vector 란 ? C++의 STL(Standard Template Library)에 속한 container = 가변 size를 가진 배열 * element를 추가/삭제하면 자동으로 크기 조절됨 1-3. Size vs. Capacity Size Capacity vector에 현재 들어있는 element 개수 vector가 수용가능한 용량 (memory) 2.. 2022. 6. 14.
[배리어프리] #04. 1차 서류 합격 우와!!!!!!!!!!!! 어제 1차 서류 결과 우리팀 '니모'가 합격하였다!!!!!!!!! 붙으면 정말 감사한 일이지만, 첫 공모전인 만큼 마음을 비우고 있었는데 좋은 소식이 들려와서 어마어마하게 기뻤다. 24일에 온라인 면접이 진행된다고 하여 17일 저녁에 팀원들과 대면으로 준비를 하기로 했다. 꼼꼼하게 2차 면접도 최선을 다해보고 싶다! 2022. 6. 11.
기수 정렬 (Radix Sort) 1. 기수 정렬 Queue를 이용해서 각 자리수 별로 정렬 반복 ※ 기 (radix) : 특정 진수를 나타내는 숫자들 ex ) 10진수의 radix : 0, 1, 2, 3, ....., 8, 9 2진수의 radix : 0, 1 2. 기수 정렬 예제 ex ) 89, 70, 35, 131, 910 오름차순 정리하시오. 2022. 6. 11.
Tree : 개념 정리 1. Tree : 그래프 중 cycle이 없는 형태 2. Terminology Node Tree 구성요소 Ancestor 한 node의 parent, grandparent 모두 Offspring node 한 node의 child, grandchild 모두 Root Node without Parents Subtree 하나의 node와 그 descendants로 구성된 tree Terminal node Node without children Non-terminal node Node with at least one child level tree의 layer 수 (3) height maximum level of the tree degree 그 node가 가진 child nodes의 수 3. Tree Type B.. 2022. 6. 7.
쉘 정렬 (Shell Sort) 1. 쉘 정렬 간격(gap)을 이용해서 굵직굵직한 삽입정렬을 하자 ※ 삽입정렬은 어느 정도 이미 정렬된 배열에서 효과적 ∴ 1. 간격을 이용해서 굵직굵직한 그룹별 삽입 정렬을 한다. (큰 숫자들 대충 뒤로, 작은 숫자들 대충 앞으로) 2. 큰 틀에서 어느정도 정렬이 된 상태가 된다. 3. 이후에 정석 삽입정렬을 해서 완벽히 정렬 ※ gap 전체 원소 수의 1/2 → 이전 gap의 1/2 → 이전 gap의 1/2 → ...... → 1 2. 쉘 정렬 예제 ex ) 30 60 90 10 40 80 40 20 10 60 50 30 40 90 80 오름차순 정리하시오. #include void shellSort(int arr[], int len) { for(int h=len/2 ; h>0 ; h/=2) { fo.. 2022. 6. 6.
[c++ 줍줍] 대문자 <=> 소문자 ▷ 문제 상황 대문자 → 소문자 소문자 → 대문자 변환하기 ▶ 해결 방법 1 아스키 코드 숫자값 이용하기 대문자(A)와 소문자(a) 차이값 1st 알파벳(A) 와 last 알파벳(Z) 차이값 32 25 char small = s[i] - 32; // 대 -> 소 char large = s[i] + 32; // 소 -> 대 ▶ 해결 방법 2 이미 만들어져 있는 메소드 이용 ( #include 필요 ) 대 → 소 소 → 대 tolower(대) = 소 toupper(소) = 대 char small = tolower(s[i]); // 대 -> 소 char large = toupper(s[i]); // 소 -> 대 2022. 5. 30.
[c++ 줍줍] 문자열 내에 존재하는 특정 문자열 치환 ▷ 문제 상황 문자열 내부에 있는 특정 새끼 문자열을 다른 새끼 문자열로 치환하는 방법 ex ) "HappyBirthdayToYou" → "HappyChildren'sDayToYou" ▶ 해결 방법 1 replace( ) 이용 replace(시작 index , 바꾸려는 만큼의 길이 , "치환 문자열") #include using namespace std; int main() { string str1 = "apple-banana"; cout 2022. 5. 22.
[c++ 줍줍] string 공백 기준으로 잘라서 새 배열에 저장 ▷ 문제 상황 string을 공백 기준으로 잘라서 새 배열에 저장하는 방법 ex) "Happy birthday to you" → A[ ] = { "Happy", "birthday", "to", "you" } ▶▶ 해결 방법 sstream 라이브러리의 stringstream 이용하기 #include int main() { string s1 = "Happy birth day to you"; stringstream A(s1); A.str(s1); string item; while(A >> item) { cout 2022. 5. 22.