일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SSAFYcial
- 웹 표준 사이트 만들기
- 삼성 청년 SW 아카데미
- 전이학습
- 백준
- SSAFY
- 코딩교육
- ssafy 7기 합격
- React
- ssafy 7기 교수님
- dfs
- 유니온 파인드
- 프로그래머스 고득점 kit
- bfs
- pytorch
- SSAFY 8기
- 이코테
- git
- DenseNet
- 알고리즘
- 삼성청년sw아카데미
- SSAFY 입학식
- 싸피 7기 입학식
- SWEA
- DP
- ssafy 7기
- 코딩 교육
- 프로그래머스
- 백준7576 bfs
- Learning
- Today
- Total
목록알고리즘/DFS, BFS, 백트래킹 (48)
개미의 개열시미 프로그래밍
https://www.acmicpc.net/problem/18513 18513번: 샘터 첫째 줄에 자연수 N과 K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N, K ≤ 100,000) 둘째 줄에 N개의 샘터의 위치가 공백을 기준으로 구분되어 정수 형태로 주어진다. (-100,000,000 ≤ 샘터의 위치 ≤ www.acmicpc.net [풀이 코드] from collections import deque from sys import stdin input = stdin.readline q = deque() visited = dict() N, K = map(int, input().split()) water = list((map(int, input().split()))) for w in water: q.a..
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr [풀이 코드] from collections import deque def solution(begin, target, words): if target not in words: # 애초에 words리스트에 target값이 없다면 return 0 return 0 q = deque() q.append([begin, 0]) w..
https://www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net [오답 코드] from collections import deque from sys import stdin input = stdin.readline n, k = map(int, input().split()) MAX = 100000 visited = [False] * (MAX+1) graph = [0] * (MAX+1) def bfs(): q = deque() q...
https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net [풀이 코드] from collections import deque n, k = map(int, input().split()) MAX = 100000 cnt_list = [0] * (MAX+1) visited = [False] * (MAX+1) visited[n] = True def bfs(): queue = deque() queue.append(n) while ..
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net [풀이 코드] import copy from sys import stdin from collections import deque n ,m = map(int, input().split()) graph = [] dy = [-1, 1, 0, 0] dx = [0, 0, -1, 1] max_result = 0 queue = deque() for _ in range(n): graph.append(list(map(int,..
https://www.acmicpc.net/problem/5547 5547번: 일루미네이션 첫째 줄에 두 개의 정수 W와 H가 주어진다. (1 ≤ W, H ≤ 100) 다음 H줄에는 상근이네 집의 건물 배치가 주어진다. i+1줄에는 W개의 정수가 공백으로 구분되어 있다. j번째 (1 ≤ j ≤ w) 정수의 좌표는 www.acmicpc.net [초기 접근 방식] 모든 건물을 '6'으로 초기화한 배열을 하나 생성한다. 그리고 회색 건물('1')만을 탐색하면서 연결된 회색 건물이 있을 때마다 6으로 초기화한 배열에 해당 건물을 -1을 해준다. 여기서 주의할 점은 정육각형의 범위로 이동해야 하지만 짝수 줄과 홀수 줄에 따라 이동 범위가 다르기 때문에 이동거리를 설정한 배열 dy, dx를 잘 설정해줘야 한다. 위..
https://www.acmicpc.net/problem/16918 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net [정리안 된 풀이 코드] # 16918 봄버맨 from collections import deque from sys import stdin input = stdin.readline r, c, n = map(int, input().split()) graph = [] for _ in range(r): graph.append(list(input().strip())) dy = [-1, 1, 0, 0] dx = [0, 0,..
https://www.acmicpc.net/problem/1325