목록cotton_.__._ (142)
컴공댕이 공부일지

🔎 DFS란? BFS와 DFS를 쉽게 설명하자면,가까운 이웃부터 좀좀따리 파면서 탐색. 한 단계씩 나아가며 가까운 정점들을 다 방문함 - 큐로 구현드라마 정주행하듯 끝까지 깊이 탐색. 더이상 못 파면 이전으로 돌아가 다른 경로 탐색. - 스택과 재귀로 구현 BFS: 가까운 것부터 차례대로 탐색 → 큐 사용 → 최단 경로 탐색에 유리DFS: 깊게 탐색 후 되돌아감 → 스택 또는 재귀 사용 → 경로를 깊이 있게 탐색 지난 글에서 BFS를 다루며 언급했던 내용이다. DFS는 BFS와 크게 다를 것 없지만, 스택을 사용해 구현한다. BFS는 FIFO인 큐를 사용해서, 인접한 노드들을 우선적으로 처리하며 점차 퍼져나갔다면, DFS는 LIFO인 스택을 사용하기에 가장 최근에 들어갔던 마지막 노드가 우선 처리되므..

🔎 BFS란? BFS와 DFS를 쉽게 설명하자면, 가까운 이웃부터 좀좀따리 파면서 탐색. 한 단계씩 나아가며 가까운 정점들을 다 방문함 - 큐로 구현드라마 정주행하듯 끝까지 깊이 탐색. 더이상 못 파면 이전으로 돌아가 다른 경로 탐색. - 스택과 재귀로 구현 BFS: 가까운 것부터 차례대로 탐색 → 큐 사용 → 최단 경로 탐색에 유리DFS: 깊게 탐색 후 되돌아감 → 스택 또는 재귀 사용 → 경로를 깊이 있게 탐색 이번 글에서는 바킹독 선생님의 강의를 기반으로, BFS의 문제 유형 여러 가지를 풀이해볼 것이다. 📝 BFS 기초 예제 백준 1926번 그림 - 영역 탐색. 2차원 배열에서 가장 넓은 영역 면적 찾기. BFS의 기본 예제 !https://www.acmicpc.net/probl..

[ 정수 자료형 ]short (2byte) int (4byte) - 최댓값 21억 long long (8byte) - 최대 19자리 (2^63-1)[ 실수 자료형 ]float (4byte) : 1 + 8 + 32bitdouble (8byte) : 1 + 11 + 52bit부호 + 지수(exponent) + 유효숫자(fraction) 필드로 실수를 저장함 ex) -6.75의 이진수 표현 부호 : 1 정수 : 6 = 110 소수 : .75 = 0.5 + 0.25 = .11 -> 110.11 -> 1.1011 * 2^2 [ ⭐ 실수 자료형의 특징 ]1. 실수의 저장/연산 과정에서 반드시 오차가 발생할 수 밖에 없다..컴퓨터는 실수를 근사값으로 저장함 ! => 실수가 필요하다면 가능한 오차 범위가 훨씬 더 ..

백준 11726번 2×n 타일링(실버 3) https://www.acmicpc.net/problem/11726 (정답 코드)#include #include #define MOD 10007 // 상수값은 깔끔하게 define 해두기using namespace std;// 피보나치 bottomupint solution(int n) { vector v (n+1, -1); // n+1칸 벡터 초기화 v[0]=1; v[1]=1; for(int i=2; i> n; cout 📖 풀이 N=1일 때, 2x1 크기의 직사각형을 채우는 방법은 1가지.|ㅁ|N=2일 때, 2x2 크기의 직사각형을 채우는 방법은 2가지.|ㅁㅁ| (세로로 2개)|ㅡ| |ㅡ| (가로로 2개)N=3일..

백준 5430번 AC(골드 5) https://www.acmicpc.net/problem/5430 (정답 코드)#include #include using namespace std;string solution(string &p, int &n, string &arr) { deque dq; string ans = "["; string num = ""; bool is_reverse = false; // 숫자 배열 벡터에 차례로 저장 for(int i=1; i> t; while(t--) { cin >> p >> n >> arr; cout 📖 트러블 슈팅1. 문자열 파싱 오류구분자 ',' 기준으로 끊어 입력받기### 수..
보호되어 있는 글입니다.
보호되어 있는 글입니다.

백준 1654번 문제이름(실버 2)https://www.acmicpc.net/problem/1654 (정답 코드)#include #include using namespace std;int cnt(int x, const vector& num) { long ans = 0; for(int i=0; i& num, int n, long sum) { long left = 1; long right = sum/n; // 토막 가능한 최대 길이 long mid; while(left=n ) { left = mid+1; } else { right = mid-1; } } return rig..
백준 11561번 좌표 정렬하기 2(실버 5)https://www.acmicpc.net/problem/11651이전에 풀었던 좌표 정렬하기는 x 오름차순 우선이었는데, 이번 좌표 정렬하기2 는 y부터 오름차순 정렬하는 것이 다른 점다. (정답 코드)#include #include #include using namespace std;typedef pair p;bool compare (const p &a, const p &b) { if(a.second != b.second) { // y 좌표가 다른 경우, return a.second xy; // 좌표 저장할 페어타입 벡터 // 입력 cin >> n; while(n--) { cin >> temp..

백준 2108번 통계학(실버 3) https://www.acmicpc.net/problem/2108 (정답 코드)#include #include #include #include using namespace std;int findMode(const vector& num, int max_length) { if(num.size() == 1) return num[0]; // 값이 하나뿐이면 그 값이 최빈값 int mode; int l=0; bool finded = false; int start = 0; int end = 0; for(int i=0; i num; vector cnt(8001, 0); // 8001칸 0으로 초기화 ..