본문 바로가기

이론/코딩테스트71

[프로그래머스] level2 구명보트 (그리디 + 투포인터) -문제 -코드 #include #include #include using namespace std; int solution(vector people, int limit) { int answer = 0, p1=0, p2=people.size()-1; sort(people.begin(), people.end()); while(p1 2022. 8. 29.
[백준] 1325번 효율적인 해킹 (DFS) -문제 -코드 #include #include using namespace std; vector computer[10001]; vector ch; int hacking; void DFS(int c) { for (int i = 0; i < computer[c].size(); i++) { int next = computer[c][i]; if (ch[next] == 0) { ch[next] = 1; hacking += 1; DFS(next); } } } int main() { int n, m, v1, v2, max =0 ; scanf("%d %d", &n,&m); vector hackingCntList(n + 1); for (int i = 0; i < m; i++) { scanf("%d %d",&v1, &v2.. 2022. 8. 27.
[백준] 3184번 양 (BFS) -문제 -코드 #include #include using namespace std; int dx[4] = {1,-1,0,0}; int dy[4] = { 0,0,1,-1 }; int main() { int n, m, v_cnt=0, o_cnt=0, v=0,o=0; cin >> n >> m; char map[250][250]; for (int i = 0; i > map[i][j]; } } queue q; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (map[i][j] == '#') continue; if (map[i][j] != '#') { v_cnt = 0.. 2022. 8. 26.
[백준] 1388번 바닥 장식 (BFS) - 문제 -코드 #include #include using namespace std; int d[2] = {1,-1}; int main() { int n, m, cnt=0; cin >> n >> m; char map[50][50]; char ch[50][50]; for (int i = 0; i > map[i][j]; } } queue q; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (map[i][j] == '-') { q.push({i,j}); map[i][j] = '0'; while (!q.empty()) { pair tmp = q.front(); q.. 2022. 8. 26.