Algorithm/Data Structures39 [파이썬] 백준 28078 : 중력 큐 (골드5) [파이썬] 백준 28078 : 중력 큐 (골드5)[백준 28078 : 중력 큐 (골드5)](28078번: 중력 큐)풀이방향성 생각덱 구현하기.어느 방향인지 나타내는 state 변수를 사용.개수는 counts로 관리해주기코드from collections import dequeimport sysinput = sys.stdin.readlinestate = 0counts = [0,0]Q = deque()for _ in range(int(input())): cmd = input().split() if cmd[0] == 'pop' and Q: counts[Q.pop()] -= 1 elif cmd[0] == 'push': if cmd[1] == 'b': Q.. 2025. 5. 21. [파이썬] 백준 2504 : 괄호의 값 (골드5) [파이썬] 백준 2504 : 괄호의 값 (골드5)[백준 2504 : 괄호의 값](2504번: 괄호의 값)풀이방향성 생각닫는 괄호가 일치할 때 스택에 int만 쌓여있는 경우는 전부 temp에 더해줘서 누적값 구하기.int를 전부 터뜨리고도 stack이 남았으면 그 괄호는 현재 닫는 괄호와 일치하는 여는 괄호이므로 제거하기.코드stack = []string = input().strip()if string.count('[') != string.count(']') or string.count('(') != string.count(')'): print(0) exit()for s in string: if s in '([': stack.append(s) else: if .. 2025. 5. 18. [파이썬] 백준 1976 : 여행 가자 (골드4) [파이썬] 백준 1976 : 여행 가자 (골드4)백준 1976 : 여행 가자 (골드4)풀이방향성 생각탐색해도 되고, 유니온파인드 써도 된다.인접 행렬을 순회하면서 하나의 집합으로 합치고, 주어진 path가 모두 같은 root를 가지는지 확인하기.전체코드import sysinput = sys.stdin.readlineN = int(input())M = int(input())G = [tuple(map(int,input().split())) for _ in range(N)]path = list(map(lambda x : int(x)-1,input().split()))P = [i for i in range(N)]def find(x): if x != P[x]: P[x] = find(P[x]) .. 2025. 4. 23. [파이썬] 백준 10775 : 공항 (골드2) [파이썬] 백준 10775 : 공항 (골드2)백준 10775 : 공항 (골드2)풀이방향성 생각그리디 + 유니온파인드항상 선택 가능한 범위 중, 가장 큰 쪽을 골라줘야 다음 쿼리가 들어왔을 때 더 많은 선택지가 생긴다.P 배열을 어떤 방식으로 지정해주냐에 따라 다르다.P 배열을 0으로 초기화 시킨 경우 방문처리의 개념으로 지정을 해준다.자기 자신으로 초기화를 시키는 경우, 현재 위치에 쿼리가 들어오는 경우 다음 도킹 가능 위치를 저장한다.전체코드import sysinput = sys.stdin.readlineN = int(input())M = int(input())P = [i for i in range(N+1)]def find(x): if x != P[x]: P[x] = find(P[x].. 2025. 4. 23. 이전 1 2 3 4 ··· 10 다음