코딩테스트/백준

[level 3] 단어 변환 - 43163https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr처음으로 시도한 3 레벨 문제이지만 사실문제를 다 풀고 나서 3 레벨인걸 확인했습니다.BFS 원리를 이해하고 있으면 생각보다 쉽게 접근이 가능했습니다.[level 3] 단어 변환 - 43163 풀이코드더보기#includeusing namespace std;string s;int cnt;int solutionstringbegin,stringtarget,vectorwords { int ans..
[level 2] 게임 맵 최단거리 - 1844https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr생각보다 Level 2지만 BFS의 정석 문제입니다.원리를 이해하고 있으면 가장 연습하기 좋은 문제였습니다.[level 2] 게임 맵 최단거리 - 1844 풀이코드더보기#includeusing namespace std;const int max_n = 104;int n, m, x, y, nx, ny, a[max_n][max_n], visited[max_n][max_n];int dy[4] = {-1, 0,..
[Silver V] 사과 담기 게임 - 2828비교적 최근에 푼 문제 중에서는 쉽게 풀린 문제였습니다.front, back 기준을 잡아두고 계산하면 생각보다 쉽게 진행됩니다.[Silver V] 사과 담기 게임 - 2828 풀이코드더보기더보기#include using namespace std;int n, m, j, ret, target, front, back;int main{ ios_base::sync_with_stdiofalse; cin.tieNULL; cin >> n >> m; cin >> j; int front = 1; int back = m; for inti=0;i>target;if(targetback { ret += abstargetback; ..
[Silver I] 영역 구하기 - 2583https://www.acmicpc.net/problem/2583DFS를 활용해서 연결된 컴포넌트 그룹을 카운팅 하고 그룹의 합을 구하는 문제였습니다.기존에 사용하던 void DFS로는 각  그룹을 카운팅 하는데 문제가 있어서 조금 어려워하고 있다가강사님의 설명을 듣고 생각을 바꾸게 되었습니다.int DFS로 변경해서 한번 연결된 컴포넌트 그룹을 탈출하면 해당 카운트를 알 수 있도록 문제를 해결했습니다. [Silver I] 영역 구하기 - 2583 풀이코드더보기#include using namespace std;int dy[4] = {-1, 0, 1, 0};int dx[4] = {0, 1, 0, -1};int m, n, k, nx, ny, a[104][1..
[Silver I] 안전 영역 - 2468https://www.acmicpc.net/problem/2468DFS를 이용해서 풀게 된 문제입니다.가중치가 적용된 그래프여서 그래프 배열의 초기화는 진행하지 않았습니다.물의 높이에 따라서 물에 잠기지 않는 안전한 영역의 개수를 카운트해서 최대 개수를 계산하는 프로그램이라높이 값을 기준으로 DFS를 실행시켰습니다.물의 높이 값은 입력된 가중치의 최댓값을 기준으로 0부터 확인했습니다.[Silver I] 안전 영역 - 2468 풀이코드더보기더보기#include using namespace std;const int max_n = 104;int n, maxValue, a[max_n][max_n], visited[max_n][max_n], nx, ny, ret, maxR..
[Silver II] 유기농 배추 - 1012https://www.acmicpc.net/problem/1012DFS를 이용해서 풀게 된 문제입니다.코드는 생각보다 쉽게 완성되었는데 테스트 케이스로 여러 개의 그래프를 확인 후 출력하는 문제여서 기준이 되는 그래프 배열과 방문 여부 배열을 초기화해줘야 하는 부분에서 약간 시간이 소요됐습니다.[Silver II] 유기농 배추 - 1012 - 풀이코드더보기더보기그래프와 방문여부를 초기화하는 부분for (int i = 0; i 전체 코드#include using namespace std;const int max_n = 54;int dy[4] = {-1, 0, 1, 0};int dx[4] = {0, 1, 0, -1};int t, m, n, a[max_n][max_..
[Silver I] 미로 탐색 - 2178https://www.acmicpc.net/problem/2178이 문제는 가중치가 같은 그래프 내의 최단거리알고리즘 문제입니다.BFS를 학습하고 처음으로 적용해서 풀었습니다.한 줄씩 그래프를 입력받을 때 연결된 텍스트여서 문자열로 받고 캐릭터형을 하나씩 숫자로 변경해서 값을 받았습니다.사실 가중치가 없는 그래프라 0과 1만 나오는 값이어서 삼항연산자를 사용할 수 있었으나 추후 가중치가 있는 그래프를 받았을 때도 대비해서 코드를 구성했습니다.[Silver I] 미로 탐색 - 2178 풀이코드더보기더보기#include using namespace std;const int max_n = 104;int dy[4] = {-1, 0, 1, 0};int dx[4] = {0,..