본문 바로가기
반응형

알고리즘/스택 \ 큐 \ 덱11

#13 [파이썬] 백준 18115번 : 카드 놓기 www.acmicpc.net/problem/18115 18115번: 카드 놓기 수현이는 카드 기술을 연습하고 있다. 수현이의 손에 들린 카드를 하나씩 내려놓아 바닥에 쌓으려고 한다. 수현이가 쓸 수 있는 기술은 다음 3가지다. 제일 위의 카드 1장을 바닥에 내려놓는다. www.acmicpc.net import sys from collections import deque n = int(input()) deq = deque() result = deque(range(1, n+1)) skill = list(sys.stdin.readline().split()) for i in reversed(skill): p = result.popleft() if i == '1': deq.appendleft(p) elif i =.. 2021. 4. 13.
#12 [파이썬] 백준 7785번 문제: 회사에 있는 사람 www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 처음에 작성했던 "시간초과😂"가 난 코드는 아래와 같다. import sys n = int(input()) result = [] for i in range(n): name, check = map(str, sys.stdin.readline().split()) if name not in result: result.append(name) else: result.remove(na.. 2021. 4. 13.
#11 [파이썬] 백준 2841번 문제: 외계인의 기타 연주 www.acmicpc.net/problem/28412841번: 외계인의 기타 연주첫째 줄에 멜로디에 포함되어 있는 음의 수 N과 한 줄에 있는 프렛의 수 P가 주어진다. (N ≤ 500,000, 2 ≤ P ≤ 300,000) 다음 N개 줄에는 멜로디의 한 음을 나타내는 두 정수가 주어진다. 첫 번째 정수www.acmicpc.net import sys N, P = map(int, input().split()) cnt = 0 lst = [[] for _ in range(7)] for i in range(N): n, p = map(int, sys.stdin.readline().split()) if not lst[n-1]: lst[n-1].append(p) cnt += 1 else: while lst[n-1] .. 2021. 4. 13.
#10 [파이썬] 백준 4949번 문제: 균형잡힌 세상 www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net while True: s = input() if s == '.': break tmp = [] result = True for j in s: if j == "(" or j == "[": tmp.append(j) elif j == ")": if not tmp or tmp[-1] == "[": result = False break elif tmp[-1] == "(": tmp.pop() elif j ==.. 2021. 4. 7.
728x90
반응형