파이썬 백준 10799번: 쇠막대기
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 풀이 stack을 이용하여 구현하였다. laser값이 '('인 경우 stack에 append한다. lasert값이 ')'일 때 두가지 경우가 존재한다. 이전이 '(' 인경우 = 레이저 이때 stack에 있는 '('의 개수(쇠막대의 개수)만큼 더해준다 이전이 ')'인경우 = 쇠막대기의 끝 이때는 1만 더한다.(다른 쇠막대에 영향을 주지 않고 자신만 추가) import sys laser=sys.stdin...
파이썬 백준 5430번 : AC
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 풀이 deque를 이용해서 구현했다. 수행할 함수 p를 읽어서 R일경우 cnt증가, D일경우 deque pop를 수행한다. pop수행시나 출력시 cnt를 활용하여 popleft, pop로 나눴다. import sys from collections import deque def action(p, deque): #언어 AC 실행 cnt = 0 for i in p: if i == 'R': #뒤집기 일때 cnt증가 cnt += 1 elif i == 'D'..
파이썬 백준 11279번 : 최대 힙
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 sol1) 우선순위 큐 이용 import sys from queue import PriorityQueue queue=PriorityQueue() #우선순위 큐 선언 N= int(sys.stdin.readline()) for _ in range(N): x=int(sys.stdin.readline()) if x==0: if queue.empty(): print('0'..
파이썬 백준 1927번 : 최소 힙
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 sol1) 우선순위 큐 사용 import sys from queue import PriorityQueue N = int(sys.stdin.readline()) queue= PriorityQueue() for _ in range(N): n=int(sys.stdin.readline()) if(n==0): if queue.empty(): print('0') continue..
파이썬 백준 10866번 : 덱
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 import sys from collections import deque deque=deque([]) N = int(sys.stdin.readline()) for _ in range(N): command=sys.stdin.readline() if 'push_front' in command: num=int(command.split(' ')[1]) deque.appendle..
파이썬 백준 10828 : 스택
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 리스트로 stack를 정의하고 입력 명령어에 따라 push, pop, size, empty, top 구현 import sys N = int(sys.stdin.readline()) stack =[] for _ in range(N): command=sys.stdin.readline() if 'push' in command: num=int(command.split(' ')[..
✿(๑❛ڡ❛๑)✿
'파이썬자료구조' 태그의 글 목록