Problem Solving21 백준 문자열 집합 - 14425 [파이썬, 자료 구조, 해시를 사용한 집합과 맵, 문자열, 트리를 사용한 집합과 맵] 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 이 문제는 잘못 접근하면 시간초과가 발생할 수 있는 문제이다. input 대신 sys.stdin.readline()을 이용하고 list 대신 set이나 dictionary를 이용해야 한다. ####################################################### import sys ####################################################### n, m = map(int.. 2023. 5. 4. 백준 절댓값 힙 - 11286 [파이썬, 자료 구조, 우선순위 큐] 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 처음에 나는 이문제를 음수와 양수를 나눠서 정리는 방향으로 해결하였다. 하지만 나중에 풀이를 확인하던중 다른 좋은 해결법도 있어서 두가지 방법 모두 정리해보겠다. ####################################################### import sys import heapq ####################################################### n = int(sys.stdin.read.. 2023. 5. 4. 백준 최대 힙 - 11279 [파이썬, 자료 구조, 우선순위 큐] 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net heap은 자동으로 최소값이 앞에 오도록 정렬해준다. 따라서 자연수라면 input 앞에 -(n)를 붙이고 출력시 다시 -(-(n)) 을 해주어 최대힙을 구현할 수 있다. ####################################################### import sys import heapq ####################################################### n = int(sys.stdin.. 2023. 4. 22. 백준 최소 힙 - 1927 [파이썬, 자료 구조, 우선순위 큐] 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 단순하게 heap과 heap메서드를 이용하여 구현 ####################################################### import sys import heapq ####################################################### n = int(sys.stdin.readline()) l = [] for i in range(n): inp = int(sys.stdin.readline(.. 2023. 4. 22. 이전 1 2 3 4 5 6 다음