본문 바로가기

파이썬

(23)
[SWEA] 1221 : GNS (파이썬) 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&problemLevel=3&contestProbId=AV14jJh6ACYCFAYD&categoryId=AV14jJh6ACYCFAYD&categoryType=CODE&problemTitle=%EB%AC%B8%EC%A0%9C%ED%95%B4%EA%B2%B0&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코드 from collec..
[백준] 2178 : 미로 탐색 (파이썬) 문제 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 코드 from collections import deque di =[-1,1,0,0] dj =[0,0,-1,1] def bfs(si,sj,ei,ej): q = deque() q.append((si,sj)) # (i,j) 한쌍이므로 괄호로 묶어서 저장 v[si][sj] = 1 while q: ci, cj = q.popleft() #현재 i,j 값은 4방향 확인 뒤에 바뀜 if (ci,cj) == (ei,ej): # 괄호 사용..
[SWEA] 1979 : 어디에 단어가 들어갈 수 있을까 (파이썬) 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PuPq6AaQDFAUq&categoryId=AV5PuPq6AaQDFAUq&categoryType=CODE&problemTitle=%EC%96%B4%EB%94%94%EC%97%90&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코드 def count(mtx): ans = 0 for lst in mtx: # i(행) 인덱스 ..
[SWEA] 1215 : 회문1 (파이썬) 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14QpAaAAwCFAYi&categoryId=AV14QpAaAAwCFAYi&categoryType=CODE&problemTitle=%ED%9A%8C%EB%AC%B8&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코드 def count(arr): cnt = 0 for i in range(8): for j in range(8 ..
[SWEA] 2001 : 파리 퇴치 (파이썬) 문제 https://swexpertacademy.com/main/solvingProblem/solvingProblem.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코드 T = int(input()) for t in range(1,T+1): N, M = map(int, input().split()) mtx = [list(map(int, input().split())) for _ in range(N)] max = 0 # 파리채를 내리칠 수 있는 전체 범위 for si in range(N-M+1): for sj in range(N-M+1): cnt = 0 # 현재 i,j좌표 + 파리채 범위 for i in ..
[백준] 1012: 유기농 배추 (파이썬) 문제 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 코드 import sys sys.setrecursionlimit(10 ** 9) input = sys.stdin.readline # 최대 밭 길이 MAX = 50 + 10 # 상하좌우 dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def dfs(x, y): mtx[x][y] = 0 for i in range(4): #상하좌우 매번 확인 nx = x + dx[i] ny = y + dy..
[백준] 24479 : 알고리즘 수업 - 깊이 우선 탐색 1,2 (파이썬) 문제 https://www.acmicpc.net/problem/24479 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net 코드 from collections import deque import sys sys.setrecursionlimit(10 ** 6) input = sys.stdin.readline def dfs(c): global cnt # 참조변수가 아니므로 함수밖에서 가져다 쓰기 위해 전역변수 선언 v[c] = cnt cnt +=..
[백준] 1260 : DFS와 BFS 문제 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 코드 from collections import deque def dfs(c): v[c] = 1 ans_dfs.append(c) for i in adj[c]: # 현재 노드와 연결된 노드 한개씩 확인 if v[i] == 0: # 그 노드 미방문시 dfs(i) # 바로 방문하러 감 def bfs(c): q = deque([c]) v[c] = 1 while ..