본문 바로가기

개발/알고리즘23

[백준] #5397 키로거 www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L의 길이 ≤ 1,000,000) 강산이가 백스페이 www.acmicpc.net total = int(input()) for _ in range(total): test_case = str(input()) left = list() right = list() for char in test_case: if char == '>': if len(right) == 0: continue left.append(right.pop()) elif char == '': if len(right) == 0:.. 2020. 10. 27.
[백준] #1966 프린터 큐 www.acmicpc.net/problem/1966 1966번: 프린터 큐 첫 줄에 test case의 수가 주어진다. 각 test case에 대해서 문서의 수 N(100이하)와 몇 번째로 인쇄되었는지 궁금한 문서가 현재 Queue의 어떤 위치에 있는지를 알려주는 M(0이상 N미만)이 주어진다. 다음 www.acmicpc.net total = int(input()) for _ in range(total): n, m = list(map(int, input().split(' '))) queue = list(map(int, input().split(' '))) queue = [(i, idx) for idx, i in enumerate(queue)] count = 0 while True: if queue[0][.. 2020. 10. 27.
[백준] #1874 스택 수열 www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net n = int(input()) cnt = 1 stack = list() result = list() for i in range(1, n+1): data = int(input()) while data >= cnt: stack.append(cnt) cnt += 1 result.append('+') if stack.pop() == da.. 2020. 10. 26.
[백준] #2798 블랙잭 www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는다. 합이 M을 넘지 않는 카드 3장을 찾을 수 있 www.acmicpc.net * 난이도: 하 * 문제 유형 : 배열, 완전 탐색 n, m = list(map(int, input().split(' '))) numbers = list(map(int, input().split(' '))) result = 0 for i in range(len(numbers)-2): for j in range(i+1, len(numbers)-1): for k in range(j.. 2020. 10. 24.