본문 바로가기
728x90

Programming56

[백준] 10828 | 스택 2년 전 코드import sysinput = sys.stdin.readlineN = int(input())s = []def command(com_list, stack): # push if len(com_list) > 1: if com_list[0] == 'push': stack.append(int(com_list[1])) # top, size, empty, pop else: if com_list[0] == 'pop': if stack: print(stack.pop()) else: print(-1) elif com_list[0] == '.. 2024. 12. 10.
[백준] 9012 | 괄호 4년 전 코드T = int(input())for i in range(T): string = input() num1 = 0 num2 = 0 for j in string: if num2 > num1: break else: if j == "(": num1 += 1 elif j == ")": num2 += 1 if num1 == num2: print("YES") else: print("NO")(good) 단순하게 해결(bad) 신뢰성 떨어지는 코드 개선 코드from collections import dequeimport.. 2024. 12. 10.
[백준] 10845 | 큐 처음부터 다시 공부하는 알고리즘 / 자료구조....  2년 전 코드from collections import dequeimport sysinput = sys.stdin.readlineN = int(input())q = deque([])def command(com_list, queue): # push if len(com_list) > 1: if com_list[0] == 'push': queue.append(int(com_list[1])) # size, empty, pop, front, back else: if com_list[0] == 'pop': if queue: print(queue.pop.. 2024. 12. 10.
[Solved] BOJ: 2457 | 공주님의 정원 오랜만에 백준 풀이>,정렬 기반 빡구현 문제였다! 근데 문제 조건 잘 체크해야 함...난 부등호때문에 엄청 고생했다ㅠ.ㅠ문제3월 1일부터 11월 30일까지 매일 최소 1개 이상의 꽃이 피어있는 상태를 유지하도록 할 떄,꽃의 개수를 최소화하기입력첫째 줄에는 꽃들의 총 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 각 꽃이 피는 날짜와 지는 날짜가 주어진다. 하나의 날짜는 월과 일을 나타내는 두 숫자로 표현된다. 예를 들어서, 3 8 7 31은 꽃이 3월 8일에 피어서 7월 31일에 진다는 것을 나타낸다.주의지는 날짜를 유의해야한다!! 지는 날짜 이전까지 꽃이 피어있는 것으로 친다.ex) 5월 8일 피어서 6월 13일 지는 꽃은 5월 8일부터 6월 12일까지는 꽃이 피어 있고, 6.. 2023. 12. 22.
[자료구조] 큐, 스택, 힙 스택 (Stack)후입선출(LIFO, Last In First Out)사용리스트로 구현# define stackstack = []# addstack.append(item)# pop (가장 마지막에 in된 item return하며 stack에서 제거)stack.pop()큐 (Queue)선입선출(FIFO, First In First Out)사용collections 모듈의 deque 사용하여 구현deque 양방향 연결 리스트로 구성# import libraryfrom collections import deque# define queuequeue = deque()# addqueue.append(item)# add leftqueue.appendleft(item)# insertqueue.insert(idx, ite.. 2023. 11. 16.
[Solved] BOJ: 11725 | 트리의 부모 찾기 문제주어진 연결 상태로 트리를 만들어각 노드의 부모노드 구하기입력첫번째 줄: 트리 길이 t두번째 줄~2+t-1: 노드 연결 상태출력각 노드의 부모 노드 출력접근일단 연결 상태를 가지고 트리를 만든 후dfs로 부모 노드를 구하면 되겠...다?풀이입력 및 트리 만들기n = int(input())tree = {}# make treefor _ in range(n-1): n1, n2 = map(int, input().split()) if n1 in tree: tree[n1].append(n2) else: tree[n1] = [n2] if n2 in tree: tree[n2].append(n1) else: tree[n2] = [n1]dic.. 2023. 2. 2.
728x90