목록분류 전체보기 (255)
Deff_Dev
문제 https://www.acmicpc.net/problem/11723풀이이 문제는 명령어를 입력받고 명령에 맞는 연산을 수행하는 프로그램을 만드는 문제이다. map을 이용하여 명령에 맞는 연산을 하는 방식으로 풀이했다.#include#include#include// https://www.acmicpc.net/problem/11723using namespace std;map s;int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, sel; string str; cin >> n; for (int i = 0; i > str; if (str == "all" || str == "empty") { if (str == "all") { for (..
문제 https://www.acmicpc.net/problem/15686풀이조합을 이용하여 모든 경우의 수의 최소 거리 값을 구하는 방법으로 풀이했다.#include#include#include// https://www.acmicpc.net/problem/15686using namespace std;vector > chicken, house;int main() { int n, m, result = 0; cin >> n >> m; int sel; for (int i = 1; i > sel; if (sel == 1) house.push_back({ i,j }); else if (sel == 2) chicken.push_back({ i,j }); } } vector combination(..
문제 https://www.acmicpc.net/problem/15988풀이#include// https://www.acmicpc.net/problem/15988using namespace std;long long nums[1000001];int main() { int n, input; cin >> n; for (int i = 0; i > input; nums[1] = 1; nums[2] = 2; nums[3] = 4; for (int j = 4; j
문제 https://www.acmicpc.net/problem/1158풀이1~N까지 숫자를 vector에 저장한 뒤, K만큼 뒤에 있는 숫자를 출력/삭제하는 방식으로 문제를 풀이했다.#include#include// https://www.acmicpc.net/problem/1158using namespace std;int main() { int N, K, sel = 0; cin >> N >> K; K--; vector vec; for (int i = 1; i "; return 0;}
문제 https://www.acmicpc.net/problem/6593풀이이 문제는 3차원 공간의 빌딩에서 BFS를 이용하여 시작 지점부터 탈출 지점까지의 최단 거리를 구하는 방식으로 풀이했다. 최단 거리를 저장하기 위해 벽(#)을 -1, 길(.)을 -2로 변환하여 map에 저장했다.시작 지점에서 BFS를 진행했으며, 같은 층에서는 상하좌우로 이동이 가능하고, 층 간에는 위아래로 이동할 수 있어 각 지점에서 총 6방향으로 탐색을 진행했다. 모든 탐색이 끝나고 도착 지점의 값이 -2이라면 Trapped! 출력, -2가 아니라면 Escaped in 도착지점 값 minute(s).을 출력한다. #include#include// https://www.acmicpc.net/problem/6593using nam..
문제 https://www.acmicpc.net/problem/18405풀이이 문제는 BFS를 이용하여 매 초마다 바이러스를 증식하고 S초 뒤에 (Y,X)를 출력하는 방법으로 풀이했다.맵 입력할 때, 바이러스 번호 별 좌표를 저장한다.S번 만큼 바이러스 번호 오름차순으로 BFS를 진행한다.S번 반복한 후, map[Y][X]를 출력한다. vec은 바이러스 번호 별, 해당 초에 증식 가능한 바이러스 좌표가 저장되어 있다.#include#include#include// https://www.acmicpc.net/problem/18405using namespace std;int map[201][1001] = { 0, };int dx[4] = { 1,-1,0,0 };int dy[4] = { 0,0,1,-1 };i..
문제 https://www.acmicpc.net/problem/2563풀이단순 구현 문제로 100 * 100 맵에 색종이를 덮은 부분(1)의 갯수를 구하면 되는 문제이다. 처음 이 문제를 접근했을 때, 겹친 부분의 넓이을 구해 전체 넓이에 뺄려고 했지만, 예외 상황이 너무 많아 위 방법을 사용했다. ex) 색종이가 여러개 겹쳤을 때 #include// https://www.acmicpc.net/problem/2563using namespace std;int main() { int n, x, y, count = 0; int arr[101][101] = {0,}; cin >> n; for (int i = 0; i > x >> y; for (int i = x; i
문제 https://www.acmicpc.net/problem/1138 풀이이 문제는 그리디/구현 문제로, 입력과 동시에 최적의 해를 찾아 순서를 배치한다. 2 1 1 0이 입력됐다면, 2 입력, 0을 두 번 건너 뜀 ▶ 0 0 2 01 입력, 0을 한 번 건너 뜀 ▶ 0 1 2 0 1 입력, 0을 한 번 건너 뜀 ▶ 0 1 2 30 입력, 0을 건너 뛰지 않음 ▶ 4 1 2 3 #include // https://www.acmicpc.net/problem/1138using namespace std;int main() { int n, p; int arr[11] = { 0, }; cin >> n; for (int i = 0; i > p; int count = p; ..