728x90 알고리즘/[python] 백준 BOJ328 [python] 백준 2250 트리의 높이와 너비 https://www.acmicpc.net/problem/2250 2250번: 트리의 높이와 너비 첫째 줄에 노드의 개수를 나타내는 정수 N(1 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 줄마다 노드 번호와 해당 노드의 왼쪽 자식 노드와 오른쪽 자식 노드의 번호가 순서대로 주어진다. www.acmicpc.net 문제해결 중위 순회(incoder)(왼쪽 하위트리 → 루트 → 오른쪽 하위 트리 방향) 방식으로 보며 되며 그 순서를 x축에 표현한 것으로서 num이라는 변수로 표현하였으며 그 때의 깊이(level)을 index로 하여 row리스트에 저장을 한다.(append) row리스트에 모든 로드를 저장한 후 level=1부터 level=n까지 각 레벨에서 최대 x축(num)값을 가진 노드.. 2023. 2. 1. [python] 백준 1261 알고스팟 https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 문제해결 다익스트라 (bfs를 이용해 꼭지점간의 최소 거리 측정) 벽이 없는 곳은 벽을 깨지 않으므로 비용(cost)가 이전이랑 같다. 따라서 deque()의 왼쪽에 다시 넣는다. 벽을 부시면 비용(cost)를 추가 지불 해야하므로 deque()오른쪽에 넣는다. deque가 없어질 때 까지 반복한 후 m,n 까지 가는데 비용을 출력한다. CODE import sys from .. 2023. 1. 29. [python] 백준 14226 이모티콘 https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net 문제해결 각각의 상황에서 3가지 선택지가 있다. 그렇지만 3가지 선택의 결과가 이전에 나왔던 상황이면(visited 된 상황) 이전의 시간이 더 적게 걸렸으므로 무시할 수 있다. 화면의 길이가 s가 될 때 visited[(now,clip)] 값을 출력하면 된다. CODE import sys input = sys.stdin.readline from collections import deque s = .. 2023. 1. 28. [python] 백준 2146 다리 만들기 https://www.acmicpc.net/problem/2146 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net 문제 해결 섬을 어떻게 구별할 것인가? → 연결 되어 있는 섬을 1, 2, 3 ... 으로 카테고리별로 구분하도록 한다.(0은 바다) 섬끼리 거리를 어떻게 측정할 것인가? → 동, 서, 남, 북으로 이동시켜서 바다부분에서 거리를 +1씩 더한다음 출발점고 다른 새로운 카테고리 대륙이 나오면 이전의 기록된 최소 거리와 비교해서 최소거리를 ans로 저장을 한다. 이를 bfs를 통해서 계속 진행한다. CODE.. 2023. 1. 27. 이전 1 ··· 63 64 65 66 67 68 69 ··· 82 다음 728x90