본문 바로가기

백준22

[백준] 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.
[백준] 토마토 [찾지 못한 부분 + 코드 + 해설] 구현 & BFS & 최단경로 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 코드 import sys from collections import deque input = sys.stdin.readline m, n = map(int, input().split()) box = [list(map(int, input().split())) for _ in range(n)] def bfs(first_queue): dx = [(-1, 0),.. 2023. 7. 16.
[백준] 2910 빈도 정렬 [풀이 해설 + 코드] 구현 & 자료구조 https://www.acmicpc.net/problem/2910 2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net 코드 import sys input = sys.stdin.readline n, c = map(int, input().split()) dic = {} arr = list(map(int, input().split())) for i in range(len(arr)): if arr[i] not in dic: dic[arr[i]] = [i, 1, arr[i]] else: dic[arr[i]][1] += 1 result = sort.. 2023. 7. 7.