백준 37

백준 2178번 C++

https://www.acmicpc.net/problem/2178 #include #include #include using namespace std; int N,M; int arr[101][101]; //미로 int visit[101][101]; //방문 int dy[] = {-1,0,1,0}; // 좌표 이동 값 (상, 우, 하, 좌) int dx[] = {0,1,0,-1}; void BFS(int n, int m) { visit[n][m]=1; // 방문 표시 queue q; // 큐를 생성 q.push(make_pair(n,m)); // 시작 점 큐에 추가 while (!q.empty()) // 큐가 비어있을 때 까지 { int x = q.front().first; int y = q.front()..

백준 2023.07.18

백준 1260번 C++ 배열 사용

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net #include #include #include using namespace std; int N,M,V; int arr[1001][1001]; int visit[1001] = {0}; void DFS(int v) { visit[v] = 1; cout

백준 2023.07.06

백준 4949번 c++

https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 9012 문제에서 대괄호만 추가 된 버전인 듯 하다 9012번 문제 풀이 링크 첨부 https://5ffthewall.tistory.com/13 답 #include #include using namespace std; int main() { string a; while(1) { stack s; getline(cin, a); if (a == ".") break; for(int ..

백준 2023.07.06

백준 9012번 c++

https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net stack을 활용하는 문제 #include #include using namespace std; stack s; int main() { int n; string a; cin>>n; for(int i=0 ; i>a; for(int j = 0 ; j

백준 2023.06.25

백준 2164 c++

https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net *c++아직 안배워서 c로 풂* 생각하는 과정 1. 큐에 push로 n만큼 숫자 넣기 2. pop으로 맨 위에 빼기 (선입선출이니까 가능) 3. front를 어떻게 빼서 아래로 옮기지? push로!! 4. pop으로 맨 위에 버리기 하나 남을 때 까지 반복 5. (top은 스택임;;) front로 출력 #include #include #include using namespace std; queue..

백준 2023.01.17

백준 10773번 C++

https://www.acmicpc.net/problem/10773 C++ 안배우고 C와 스택 조금 배운 상태라 코드가 미숙함 (#include 로 c로 풀음) 처음 푼 거 #include #include #include #include using namespace std; stack s; int main(){ int k, n, sum; scanf("%d", &k); for(int i=0 ; i> 스택에 있는 값들을 전부 더해주는 방법을 바꿔봄 - 스택에 있는 값이 k개 이하일 수도 있는데 계속해서 더해주는 게 문제인가 싶어 코드를 조금 수정함 #include #include #include using namespace std; stack s; int main(){ int k, n, sum=0; scan..

백준 2023.01.17
728x90