본문 바로가기

[D-28] 알고리즘 추천 문제 여기 있는 문제는 모두 암기하고 시험장에 들어간다 ! 반드시 ! BOJ 2606 바이러스 BOJ 11724 연결요소의개수 BOJ 15686 치킨 배달 BOJ 14888 연산자 끼워넣기BOJ 2677 단지번호붙이기BOJ 10026 적록색약BOJ 7576 토마토BOJ 14502 연구소BOJ 2573 빙산BOJ 2251 물통BOJ 2178 미로 탐색BOJ 3055 탈출BOJ 1697 숨바꼭질BOJ 2468 안전영역
[BOJ 2606] 바이러스 바이러스와 연결요소의 개수를 함께 풀면 DFS의 기본 문제를 경험할 수 있음. 바이러스 성공시간 제한메모리 제한제출정답맞은 사람정답 비율1 초128 MB2519710486728240.447%문제신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다.예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받..
[BOJ 2573] 빙산 2573번제출맞은 사람숏코딩풀이풀이 작성풀이 요청재채점/수정채점 현황내 소스강의질문 검색빙산 성공시간 제한메모리 제한제출정답맞은 사람정답 비율1 초256 MB114123142210925.738%문제지구 온난화로 인하여 북극의 빙산이 녹고 있다. 빙산을 그림 1과 같이 2차원 배열에 표시한다고 하자. 빙산의 각 부분별 높이 정보는 배열의 각 칸에 양의 정수로 저장된다. 빙산 이외의 바다에 해당되는 칸에는 0이 저장된다. 그림 1에서 빈칸은 모두 0으로 채워져 있다고 생각한다.그림 1. 행의 개수가 5이고 열의 개수가 7인 2차원 배열에 저장된 빙산의 높이 정보빙산의 높이는 바닷물에 많이 접해있는 부분에서 더 빨리 줄어들기 때문에, 배열에서 빙산의 각 부분에 해당되는 칸에 있는 높이는 일년마다 그 칸에 동서..
[BOJ 1937] 욕심쟁이판다 /*토마토랑 비슷한 문제인거 같아서 비슷하게 접근했다가 시간초과를 했다.그래서 코드를 참고하여 공부했다.https://github.com/JaVashit/StudyForSamsung/blob/master/Solving_Problem/Park.K.S/*/#include#include#includeusing namespace std;int arr[510][510]; // 대나무 숲의 정보int check[510][510]; // 좌표에서 방문할 수 있는 최대 깊이int dx[] = { 0,0,-1,1 };int dy[] = { 1,-1,0,0 };int n,ans=0; vector v; int dfs(int x, int y){if (check[x][y]) return check[x][y];// 검사하여 ch..
[BOJ 14888] 연산자 끼워넣기 연산자 끼워넣기 성공시간 제한메모리 제한제출정답맞은 사람정답 비율2 초512 MB94394501295646.376%문제N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다.우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안된다.예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60가지의 식을 만들 수 있다. 예를 들어, 아래와 같은 식을 만들 수 있다.1+..
[BOJ 11724] 연결 요소의 개수 연결 요소의 개수 성공시간 제한메모리 제한제출정답맞은 사람정답 비율3 초256 MB141077059467147.731%문제방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어진다.출력첫째 줄에 연결 요소의 개수를 출력한다.예제 입력 1 복사6 5 1 2 2 5 5 1 3 4 4 6 예제 출력 1 복사2 예제 입력 2 복사6 8 1 2 2 5 5 1 3 4 4 6 5 4 2 4 2 3 예제 ..
[BOJ 15686] 치킨 배달 치킨 배달 성공시간 제한메모리 제한제출정답맞은 사람정답 비율1 초512 MB86673567205138.229%문제크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다.이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다.임의의 두 칸 (r1, c1)..
[BOJ 14500] 테트로미노 테트로미노 성공시간 제한메모리 제한제출정답맞은 사람정답 비율2 초512 MB131444455290132.284%문제폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다.정사각형은 서로 겹치면 안된다.도형은 모두 연결되어 있어야 한다.정사각형의 꼭짓점끼리 연결되어 있어야 한다. 즉, 변과 꼭짓점이 맞닿아있으면 안된다.정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다.아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다.테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여 있는 수들의 합을 최대로 하는 프로그램을 ..