[백준/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개의 정수로 미로가 주어진다. 각가의 수들은 붙어서 입력으로 주어진다. # 출력 첫째 줄에 지나..
[백준/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 의 정수)네 번..
[SWEA/Python3] 1493. 수의 새로운 연산
·
코딩테스트/SWEA
문제 설명 (출처: https://swexpertacademy.com/)2차원 평면 제 1사분면 위의 격자점 (x,y)에 위 그림과 같이 대각선 순서로 점에 수를 붙인다. 점 (x,y)에 할당된 수는 #(x,y)로 나타낸다.예를 들어 #(1,1) = 1, #(2,1)=3, #(2,2) = 5, #(4,4) = 25이다. 반대로 수 p가 할당된 점을 &(p)로 나타낸다.예를 들어 &(1) = (1,1), &(3) = (2,1), &(5) = (2,2), &(25) = (4,4)이다.두 점에 대해서 덧셈을 정의한다. 점 (x,y)와 점 (z,w)를 더하면 점 (x+z, y+w)가 된다.즉, (x,y) + (z,w) = (x+z, y+w)로 정의한다.우리가 해야 할 일은 수와 수에 대한 새로운 연산 ★를 구현..
[프로그래머스]위클리챌린지1주차-부족한 금액 계산하기
·
코딩테스트/프로그래머스
※문제※ 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. ※제한사항※ 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수 놀이기구의 이용 횟수 ..