본문 바로가기
728x90

○ 기술면접42

구현: 단지번호붙이기 (백준 2667) ○ 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. ○ 입력 첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. ○ 출력 첫 번째 줄에는 총 단지수를 출력하시오. .. 2023. 3. 22.
DFS: 바이러스 (백준 2606) ○ 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의.. 2023. 3. 22.
[알고리즘] DFS/BFS: 그래프 탐색 기본개념 DFS/BFS - 프로그래밍에서는 그래프, 트리 등의 자료구조 안에서 탐색을 하는 문제를 주로 다루고, 대표적인 탐색 알고리즘들이다. 자료구조(Data Structure) 데이터를 표현하고 관리하고 처리하기 위한 구조로 스택과 큐가 기초 개념 스택(Stack) 아래에서부터 위로 차곡차곡 쌓는 박스 구조, 선입후출(First In Last Out) 또는 후입선출(Last In First Out) 구조 큐(Queue) 먼저 온 사람이 먼저 들어가게되는 공정한 대기줄 구조, 선입선출(First In First Out) 구조 재귀함수(Recursive Function) 자기 자신을 다시 호출하는 함수이며, 컴퓨터 내부에서 재귀 함수의 수행은 스택 자료구조를 이용한다. 함수를 호출했을 때 가장 마지막에 .. 2023. 3. 21.
구현: 문자열 반복 (백준 2675) ○ 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. ○ 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. ○ 출력 각 테스트 케이스에 대해 P를 출력한다. ○ 예제 입.. 2023. 3. 21.
728x90