본문 바로가기
반응형

분류 전체보기252

[백준][Python] 9012번 괄호 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 코드 import sys n = int(input()) for i in range(n): stack = [] data = sys.stdin.readline() d = list(data) ans = 0 for j in d: if j == '(': stack.append(j) elif j == ')': if len(stack) == 0: ans = -1 else: stack.pop() if len(stack) == 0 and ans =.. 2022. 2. 3.
[백준][Python] 18258번 큐 2 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 import sys n = int(input()) queue = [] for i in range(n): com = sys.stdin.readline().split() if com[0] == 'push': queue.append(com[1]) elif com[0] == 'pop': if len(queue) == 0: print(-1) else: print(queue.pop(0)) elif com[0] == 'size': print(le.. 2022. 2. 3.
[백준][Python] 10828번 스택 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 import sys n = int(input()) stack = [] for i in range(n): com = sys.stdin.readline().split() if com[0] == 'push': stack.append(com[1]) elif com[0] == 'pop': if len(stack) == 0: print(-1) else: print(stack.pop()) elif com[0] == 'size': print(len(sta.. 2022. 2. 3.
[백준][Python] 1158번 요세푸스 문제 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 코드 N, K = map(int,input().split()) ans= [] arr = [i for i in range(1,N+1)] num = 0 for i in range(N): num+=(K-1) if num >= len(arr): num %= len(arr) ans.append(str(arr[num])) arr.pop(num) print("", sep="") 설명 인덱스가 (K-1)인 곳을 제거해준다. 만약 num이 리스트의 길이보다 크거나 같으면 그 값을 리스트의 길이로 나눈 나머지 값으로 설정해준다. print에 변수나 값을 쉼표로 구분해서 .. 2022. 2. 3.
반응형