코딩 테스트63 [백준] 2583 - 영역 구하기, C++ https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오른쪽 위 꼭짓점의 x, y좌표값이 빈칸을 사이에 두고 차례로 주어진다. 모눈종이의 왼쪽 아래 꼭짓점의 좌표는 (0,0)이고, 오른쪽 위 꼭짓점의 좌표는(N,M)이다. 입력되는 K개의 직사각형들이 모눈종이 전체를 채우는 경우는 없다. www.acmicpc.net 본 문제는 2006 한국정보올림피아드 지역 본선 고등부 2번 문제다. 빈 공간을 찾고 빈 공간의 개수를 구하는 BFS문제다. 그러나 입력되는 데이터가.. 2020. 1. 7. [백준] 11403 - 경로 찾기, C++ https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net 본 문제는 배열을 인접행렬로 바꿔서 풀어야 하는 문제다. 그래프에서 배열로 경로탐색을 하는것 보다 인접행렬로 탐색을 하는것이 빠르다. 입력된 배열을 인접행렬로 변경 간선 방문 여부 확인하며 탐색 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 .. 2020. 1. 7. [백준] 1697 - 숨바꼭질, C++ https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 www.acmicpc.net 본 문제는 USACO US Open 2007 Contest Silver 2번 문제다. 대부분 이런 문제들은 거리를 계산하는 배열과 방문을 .. 2020. 1. 6. [백준] 1012 - 유기농 배추, C++ https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. ( www.acmicpc.net 본 문제는 bfs와 dfs로 풀 수 있다. 비슷한 문제가 참 많다. 그래서 문제를 많이 풀어본 사람들은 쉽게 풀 수 있다. 그러나 난.. 2020. 1. 6. [백준] 2667 - 단지번호붙이기, C++ https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수 www.acmicpc.net 본 문제는 KOI 1996 한국정보올림피아드 초등부 1번 문제다. 입력받은 배열에서 단지를 구분하고 단지 내 집의 수를 오름차순으로 출력하는 문제다. BFS를 이용.. 2020. 1. 6. [백준] 2606 - 바이러스, C++ (알고리즘 정리 예정) https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어진다. 이어서 그 수만큼 한 줄에 한 쌍씩 네트워크 상에서 직접 연결되어 있는 컴퓨터의 번호 쌍이 주어진다. www.acmicpc.net 본 문제는 '2004 한국정보올림피아드 지역본선 초등부 3번 문제'로 문제 분류는 '플로이드 와샬 알고리즘'이라고 되어 있는데 BFS로 풀린다. 최단 경로 알고리즘(정리 예정) 코딩 절차는 다음과 같다. 간선 정보 입력 정점 1에서 시작 감염된 컴퓨터 개수 파악 1 2 3 4 5 6 7 8 9 1.. 2020. 1. 6. 이전 1 ··· 5 6 7 8 9 10 11 다음