본문 바로가기

알고리즘29

[백준] 3190 뱀 [풀이해설 + 코드 + 놓쳤던 점들] 구현 & 시뮬레이션 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 코드 import sys from collections import deque sys = sys.stdin.readline n = int(input()) k = int(input()) board=[[0] * n for _ in range(n)] for _ in range(k): r, c = map(int, input().split()) board[r-1][c-1] = 2 check =.. 2023. 7. 28.
[백준] 1753 최단경로 [다익스트라와 BFS차이를 한번 생각해보자 + 코드 없음] 다익스트라(dijkstra) https://www.acmicpc.net/source/64016802 로그인 www.acmicpc.net 설명 이번 포스팅 내용은 코드가 들어 있지 않습니다. 해당 문제에 대한 코드는 다익스트라의 기본적인 코드 내용이기 때문에 올리지 않고 다익스트라와 BFS의 차이가 무엇인지 둘 다 최단경로를 찾기 위해 사용되는 알고리즘인데 목적이 어떻게 다른지에 대해서 중점적으로 공부한 내용을 작성하겠습니다. 다익스트라(dijkstra) 알고리즘은 최단경로를 찾기 위해 사용되는 알고리즘이다. 이 알고리즘의 특징이라고 본다면 '가중치'가 있는 그래프에서 사용되는 특징을 가지고 있다. 앞서 이전 포스팅에서는 BFS를 활용해서 최단경로를 찾는 문제들을 접해봤었고, 왜 DFS 보다 BFS를 최단.. 2023. 7. 25.
[프로그래머스] Lv.2 과제 진행하기 [풀이 + 코드 + 부족한 논리부분] 구현 https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ! 중복된 코드기 때문에 해당 어떤 부분에서 틀렸는지는 아래 설명란에서 설명하겠습니다.! 코드 (틀린 코드 41.7점) # 점수 41.7점 def solution(plans): answer = [] for idx, value in enumerate(plans): h = int(value[1].split(":")[0]) m = int(value[1].split(":")[1]) plans[id.. 2023. 7. 20.
[프로그래머스] Lv.2 미로탈출 [논리적 허점 + 코드 + 해설] 구현 & BFS & 최단경로 https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from collections import deque def bfs(s, e, gx, gy, n, m, maps): visited = [[0] * m for _ in range(n)] visited[s][e] = 1 queue = deque([[s, e]]) result = 0 dx = [(-1, 0), (0, -1), (1, 0), (0, 1)] while q.. 2023. 7. 18.