본문 바로가기

Python3

[알고리즘 분석 #6] 디스크 컨트롤러 프로그래머스 Python 사용 알고리즘 우선순위 큐 사용 자료구조 특징 1. Heap 기반 자료구조이다 2. Heap 은 일반적으로 완전 이진트리 구조를 가지고 있다. 3. 우선순위 큐는 우선순위가 높은 원소부터 처리된다. -> 넣으면 이진트리 형태로 들어가서 찾기, 변경하기가 O(log N) 4. 큐에 넣을때 자동으로 정렬된다. 5. python Heapq는 기본은 최소힙이다 ( 가장 작은 값이 부모노드 이다) ( 배열 맨 첫번째 요소 ) 파악하는 방법 ( 풀이를 고민하는 흐름 방식 ) 우선 모든 방법을 찾는다는 생각을 버린다 현재 시간에 따라서 어떤 디스크가 올지 고민해야한다 ( 실행시간이 짧은게 우선적으로 실행되야하는것을 안다면 더욱 좋다 ) 현재 시간에 따라 -> 어떤 디스크가 옳을지 -> 를 무한반벅 따라서 현재시간 기.. 2023. 3. 31.
[알고리즘 분석 #3] BFS 대표 문제 풀기( 1697, 1926, 2178, 4179, 7576 ) 바킹독님의 BFS 대표 예제 문제 풀이 https://www.youtube.com/watch?v=ftOmGdm95XI&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=10 문제 1 - 그림 https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 해결 방법 1. 방문 여부, 범위 벗어나지 않기, 조건 삼박자가 맞아야한다. 2. 가장 큰 그림 ( 가장 넓은 범위 ), 그림의 갯수 찾는 부분을 나누었다. 나는 함수가 깊어질수록 .. 2022. 9. 6.
[알고리즘 분석 #2] BOJ 4949 균형잡힌 세상( python3 ) 바킹독님 강의 보고 먼저 풀어본 내용입니다. https://www.youtube.com/watch?v=cdjjk-ryPKc&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=9 스택을 활용를 수강하였다. 나온 예제로는 () -> true ( { ) } -> false 를 출력하는 문제이다 . 문제 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 해결 방법은 stack을 이용하는것이다. FIF.. 2022. 9. 5.