[백준] 🏅11559번 골드4 Puyo Puyo (파이썬 Python)
·
알고리즘
11559번 문제뿌요뿌요의 룰은 다음과 같다.필드에 여러 가지 색깔의 뿌요를 놓는다. 뿌요는 중력의 영향을 받아 아래에 바닥이나 다른 뿌요가 나올 때까지 아래로 떨어진다.뿌요를 놓고 난 후, 같은 색 뿌요가 4개 이상 상하좌우로 연결되어 있으면 연결된 같은 색 뿌요들이 한꺼번에 없어진다. 이때 1연쇄가 시작된다.뿌요들이 없어지고 나서 위에 다른 뿌요들이 있다면, 역시 중력의 영향을 받아 차례대로 아래로 떨어지게 된다.아래로 떨어지고 나서 다시 같은 색의 뿌요들이 4개 이상 모이게 되면 또 터지게 되는데, 터진 후 뿌요들이 내려오고 다시 터짐을 반복할 때마다 1연쇄씩 늘어난다.터질 수 있는 뿌요가 여러 그룹이 있다면 동시에 터져야 하고 여러 그룹이 터지더라도 한번의 연쇄가 추가된다.남규는 최근 뿌요뿌요 게..
[자료구조] 우선순위 큐 (파이썬 heapq 사용법)
·
알고리즘
queue란?큐는 가장 먼저 삽입된 데이터를 가장 먼저 삭제하는 FIFO(First in First out) 자료구조형이다. rear(한쪽 끝)에 데이터가 추가되고,front(다른쪽 끝)에서 데이터가 삭제되는 방식이다.heap이란?우선순위 큐를 구현하기 위해서는 다양한 자료형을 사용할 수 있는데 그 중 힙은 완전 이진 트리를 기반으로, 삭제 / 삽입에 O(log n) 소요되어 효율적으로 구현할 수 있다.최소 힙 또는 최대 힙으로 나뉘며, 최소 힙은 부모 노드가 자식 노드보다 작거나 같은 값을 가지는 구조이다.파이썬의 heapq 라이브러리는 최소 힙을 사용해서 priority 값이 낮을수록 먼저 삭제 된다. 우선순위 큐heap 힙 자료구조는 우선순위 큐를 구현하기 위해 사용하는 자료구조이다.우선순위 큐는 ..
[프로그래머스] lv3. 순위 (파이썬 Python)
·
알고리즘
순위 문제n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다.선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solution 함수를 작성해주세요. 입출력 예시 제한사항- 선수의 수는 1명 이상 100명 이하입니다.- 경기 결과는 1개 이상 4,500개 이하입니다.- results 배열 각 행 [A, B]는 A 선수가 B 선수..
[백준] 🥈10816번 숫자 카드2
·
알고리즘
10816번 문제숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다.셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, ..