PS/Python 46

[백준] 1012 - 유기농 배추(파이썬, Python)

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 � www.acmicpc.net import sys def dfs(pos_r, pos_c): stack = [(pos_r, pos_c)] matrix[pos_r][pos_c] = 0 dr = [0, 1, 0, -1] dc = [-1, 0, 1, 0] while stack: pos = stack.pop() for k in range(4): cr = pos[0] + dr[k] cc = pos[1] + dc[k] if(0

PS/Python 2020.07.29

[백준] 7576 - 토마토 (파이썬, Python)

https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토� www.acmicpc.net from collections import deque import sys def solution(start_list): queue = deque(start_list) cnt = len(queue) flag = 0 day = -1 drow = [0, 1, 0, -1] dcol = [-1, 0, 1, 0] while queue: flag += 1 pos = queue.popleft(..

PS/Python 2020.07.29

[백준] 2667 - 단지번호붙이기 (파이썬, Python)

https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. � www.acmicpc.net from collections import deque import sys def solution(i, j, cnt) : cnt += 1 matrix[i][j] = 0 dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] queue = deque([(i, j)]) while queue: pos = queue.popleft() for k in range(4): cx = pos[0] + ..

PS/Python 2020.07.27

[백준] 2178 - 미로 탐색 (파이썬, Python)

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 처음 문제를 접했을 때 어떻게 접근해야 할지 막막했다. 그러다 문득 아래와 같은 생각이 들었다. #현재까지 지나온 칸의 수 = 전 칸의 지나온 칸의 수 + 1 실마리를 찾은 것 같아서 기뻤다. 바로 적용해 보았다. from collections import deque import sys def solution(): visited = [] queue = deque([(0,0)]) step_matrix[0][0] = 1 while ..

PS/Python 2020.07.23

[백준] 1260 - DFS와 BFS (파이썬, Python)

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net python으로 dfs와 bfs를 구현해보고 접한 첫 번째 문제였다. 입력 값만 잘 처리하면 쉽게 풀릴 문제라 생각했다. from collections import deque import sys def bfs(graph, root) : visited = [] queue = deque([root]) while queue : cur_node = queue.popl..

PS/Python 2020.07.21

[백준] 5052- 전화번호 목록 (파이썬, Python)

https://www.acmicpc.net/problem/5052 5052번: 전화번호 목록 문제 전화번호 목록이 주어진다. 이때, 이 목록이 일관성이 있는지 없는지를 구하는 프로그램을 작성하시오. 전화번호 목록이 일관성을 유지하려면, 한 번호가 다른 번호의 접두어인 경우가 없� www.acmicpc.net 문제를 보고 전화번호를 길이를 기준으로 정렬한 후 더 긴 번호와 접두어를 비교하는 방법을 생각했다. 적용해 보았다. t = int(input()) answer = [] for i in range(t): flag = "YES" n = int(input()) call_list = [] for j in range(n): call_num = str(input()) call_list.append(call_nu..

PS/Python 2020.07.21