[백준/Python] DFS/BFS-2606번. 바이러스
·
코딩테스트/BAEKJOON
📌 문제 설명 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴..
[백준/Python] DFS/BFS-2178번. 미로탐색
·
코딩테스트/BAEKJOON
📌 문제 설명 NxM크기의 배열로 표현되는 미로가 있다. 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1,1)에서 출발하여 (N,M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 아래의 예에는 15칸을 지나야 (N,M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. N×M크기의 배열로 표현되는 미로가 있다.# 입력첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각가의 수들은 붙어서 입력으로 주어진다. # 출력 첫째 줄에 지나..
[알고리즘 전략] DFS/ BFS/ 백트래킹
·
알고리즘
📌 관련 코테 풀이 모음집 (계속 업데이트 해보자고요)2024.10.09 - [코딩테스트/BAEKJOON] - [백준/Python] 1260. DFS와 BFS2024.10.12 - [코딩테스트/BAEKJOON] - [백준/Python] 5014번. 스타트링크2024.10.12 - [코딩테스트/BAEKJOON] - [백준/Python] 1697번. 숨바꼭질2024.10.11 - [코딩테스트/BAEKJOON] - [백준/Python] 2644번. 촌수 문제2024.10.09 - [코딩테스트/BAEKJOON] - [백준/Python] 2667번. 단지번호 붙이기2024.10.09 - [코딩테스트/BAEKJOON] - [백준/Python] 2606번. 바이러스2024.10.09 - [코딩테스트/BAEKJOON..
[백준/Python] 1260. DFS와 BFS
·
코딩테스트/BAEKJOON
📌 문제 설명 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. # 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다.  # 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대..
[프로그래머스/Python] 코딩테스트연습 - DFS/BFS - 여행경로
·
코딩테스트/프로그래머스
문제 설명주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다.항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. #제한사항모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. ticktets의 각 행 [a,b]는 a공항에서 b공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합나다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return합니다. 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. #입출력 예 - 3번째 테스트 케이스는 반례를 위해 따로 추..
[SWEA/Python] 1228. [S/W 문제해결 기본] 8일차 - 암호문1
·
코딩테스트/SWEA
문제설명  0 ~ 999999 사이의 수를 나열하여 만든 암호문이 있다.암호문을 급히 수정해야 할 일이 발생했는데, 이 암호문은 특수 제작된 처리기로만 수정이 가능하다.이 처리기는 다음과 같이 1개의 기능을 제공한다.1. I(삽입) x, y, s : 앞에서부터 x의 위치 바로 다음에 y개의 숫자를 삽입한다. s는 덧붙일 숫자들이다.[ ex) I 3 2 123152 487651 ]위의 규칙에 맞게 작성된 명령어를 나열하여 만든 문자열이 주어졌을 때, 암호문을 수정하고, 수정된 결과의 처음 10개 숫자를 출력하는 프로그램을 작성하여라.[입력]첫 번째 줄 : 원본 암호문의 길이 N ( 10 ≤ N ≤ 20 의 정수)두 번째 줄 : 원본 암호문세 번째 줄 : 명령어의 개수 ( 5 ≤ N ≤ 10 의 정수)네 번..