반응형

Programming 298

백준 9012 c++ 주석포함

백준: 괄호 #include #include #include #include #include using namespace std; string func(string str) { stack s;//stack 선언 char ch; for (int i = 0; i < str.length(); i++) { ch = str[i];//매개변수로 받은 문자열을 한글자씩 확인하기 위해 ch에 저장 if (ch == '(')//여는괄호일 경우 stack에 push { s.push(ch); } else if (ch == ')')//닫는 괄호일 경우 { if (!s.empty())//stack이 비어있지않다면 { if ('(' == s.top())//stack에 top이 여는괄호라면 { s.pop();//stack에서 여는..

백준 2178 c++ 주석포함

백준: 미로 탐색 #include #include #include #include #include using namespace std; char map[101][101];//미로를 입력받을 배열 bool visited[101][101] = {false,};//방문을 확인하는 배열 int check[101][101] = {0,};//칸을세기위한 배열 int n, m; int xp[4] = { 1,-1,0,0 };//서로인접한 칸들을 탐색하기 위한 배열 남,북,동,서 순서 int yp[4] = { 0,0,1,-1 }; void bfs(int a, int b)//bfs { visited[a][b] = true;//시작점인 0,0을 방문 queueq;//queue 선언 q.push(make_pair(a, b))..

c++ 유용한 함수 정리

문자열을 정수로 변환 #include stoi(문자열변수) :문자열 변수(숫자만있는경우)의 숫자를 정수형으로 변환 to_string(변수)를 하면 숫자를 문자열로 변환 문자열에 숫자와 문자가 같이 존재하는 경우 if문으로 '0' ~'9' 사이에 문자열에서 '0'을 빼고 저장하면 된다. 컨테이너의 최대값 및 최소값 반환 #include max_element(컨테이너변수명.begin(),컨테이너변수명.end()) : 컨테이너의 값들중 가장 큰 수 반환 min_element(컨테이너변수명.begin(),컨테이너변수명.end()) : 컨테이너의 값들중 가장 작은 수 반환 컨테이너의 특정값 찾기 #include auto it = find(컨테이너변수명.begin(),컨테이너변수명.end(),찾을값) : 컨테이너에..

Programming/C++ 2022.01.24

c++ stl 필요한 컨테이너 정리

벡터(vector) c++ 표준라이브러리에 있는 컨테이너 동적배열로서 기존 배열과는 다르게 크기 지정을 하지않아도 사용가능하다. 또한 메모리를 효율적으로 관리한다. "#include" 헤더파일을 추가 "vector변수명" 으로 선언 "변수명.begin()"으로 시작점 주소를 반환 "변수명.rbegin()" 끝나는 지점을 시작점으로 반환 "변수명.end()"으로 끝나는지점+1 주소를 반환 "변수명.rend()" 시작점+1 을 끝나는지점으로 반환 "변수명.front()" 첫번째 요소 반환 "변수명.back()" 마지막 요소 반환 "변수명.erase(인덱스)" 인덱스의 값을 삭제한다 큐(queue) 선입선출 자료구조인 큐를 직접구현하지 않고 사용할 수 있다. "#include" 헤더파일을 추가 "queue변수..

Programming/C++ 2022.01.24

백준 10989 c++ 주석포함

백준: 수 정렬하기 3 #include #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n;//n개의 수 입력 int temp; int count[10001] = {0,};//주어지는수가 10000이하이기때문에 count해줄 배열 선언 및 초기화 for (int i = 0; i > temp; count[temp]++;//입력받은 수를 인덱스로 해당 인덱스의 값에 1을 더한다 } for (int i = 1; i < 10001; i++) { for ..

백준 10825 c++ 주석포함

백준: 국영수 #include #include #include #include #include using namespace std; struct student {//student구조체 정의 string name;//이름 int ko;//국어점수 int en;//영어점수 int ma;//수학점수 }; bool cmp(student a, student b)//정렬에 사용될 조건정의 { if (a.ko == b.ko)//국어성적이 같다면 { if (a.en == b.en)//영어성적이 같다면 { if (a.ma == b.ma)//수학성적이 같다면 { return a.name b.ma;//수학성적이 감소하는 순서로 반환 } return..

백준 1260 c++

백준: DFS와 BFS #include #include #include #include #include using namespace std; void bfs(vector gp[], bool vt[], int start)//bfs 함수 { queueq;//queue 선언 q.push(start);//q에 시작 정점을 push 한다 while (!q.empty())//q가 empty가 아니면 반복 { int temp = q.front();//현재 q의 front를 temp에 저장 q.pop();//q의 front를 삭제 if (vt[temp])//visited 배열인덱스에 temp를 넣어서 방문한 값인지 확인, 방문했으면 밑에 코드 건너뛰기 continue; vt[temp] = true;//방문한것이 아니면..

반응형