본문 바로가기
반응형

알고리즘 풀이/백준125

[백준 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 DFS와 BFS 문제 요즘 DFS와 BFS를 집중적으로 연습 중이라 공부에 큰 도움이 된 문제! 문제 요구조건을 제대로 안읽어서 구현에 제대로 실패했던 문제, 다른 답을 보고나서 아! 했던.. 내가 푼 정답코드 result = [] def dfs(n): visited1[n] = True print(n, end= ' ') for i in graph[n]: if .. 2023. 2. 23.
[백준 14502] 연구소 (python) https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 연구소 문제 BFS를 이용한 구현을 섞어놓은 문제라 여러모로 시도해보기 좋은 문제 내가 푼 정답 코드 def walls(n, m): # 벽 3개 골라보자 global clean if m == 3: # 벽 3개 골랐으면 maps_c = copy.deepcopy(maps) #벽 3개 칠한걸 임시로 복사하자 for r,c in virus(): #바이러스에 대해 finding(r,c,maps_c) #바이러스를 퍼뜨려.. 2023. 2. 23.
[백준 2447] 별 찍기 - 10 (python) https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 별 찍기 - 10 문제 재귀를 활용하여 별을 반복해서 찍어 출력과 같게 모양을 만들어주는 문제 100% 내 생각으로 풀었는가? →△ 전부 참고한건 아니고 힌트를 좀 받아서 해결한 문제 내가 푼 정답 코드 def recur(n): if n == 1: return ['*'] star = recur(n//3) stars = [] for i in star: stars.appen.. 2023. 2. 22.
[백준 1300] K번째 수 (python) https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net K번째 수 문제 이분탐색을 이용하여 오름차순으로 정렬했을때의 K번째 수를 구하는 문제 100% 내 생각으로 풀었는가? → X 다른 사람의 코드를 계속해서 보면서도 한참이 지나서야 겨우 이해하고 해결한 문제 내가 푼 정답코드 import sys N = int(sys.stdin.readline()) K = int(sys.stdin.readline()) start = 1 .. 2023. 2. 22.
[백준 11866] 요세푸스 문제 0 (python) https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 요세푸스 문제 0 1번부터 N번까지 N명의 사람이 원을 앉아 이뤄 K번째 사람을 제거하는 문제 100% 내 생각으로 풀었는가? → O 원을 그리고 3명 간격으로 사람을 빼낸다고 생각하면 쉽게 해결할 수 있던 문제 내가 푼 정답 코드 import sys from collections import deque N, K = map(int, sys.stdin.readline().split()) queue = deque() result = [] for i in range(1,N+1): que.. 2023. 2. 21.
[백준 9935] 문자열 폭발(python) https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 문자열 폭발 문제 스택을 활용하여 입력받은 문자열의 겹치는 부분을 제거하는 코드를 작성하는 문제 100% 내 생각으로 풀었는가 ? → O 스택만 잘 사용할줄 알면 생각보다 쉽게 풀린 문제! 내가 푼 정답코드 import sys x = list(sys.stdin.readline().strip()) M = list(sys.stdin.readline().strip()) m = len(M).. 2023. 2. 15.
반응형