본문 바로가기
728x90

Study/Coding Test49

[백준] 1406 - 에디터 Python https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net import sys st1 = list(sys.stdin.readline().rstrip()) st2 = [] for _ in range(int(sys.stdin.readline())): command = list(sys.stdin.readline().split()) if command[0] == 'L': if st1: st2.append(st1.pop()) elif command[0] == 'D'.. 2023. 10. 10.
[백준] 1912 - 연속합 Python https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net (1) 첫번째 코드 - 메모리 초과 import sys input = sys.stdin.readline N = int(input()) num = list(map(int, input().split(" "))) M = len(num) dp = [[-1000] * (M) for _ in range(M)] answer = -1000 # print(num) for i in range(M): for j in range.. 2023. 10. 9.
[백준] 7576 - 토마토 Python https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net import sys from collections import deque input = sys.stdin.readline dx = [-1, 1, 0, 0] dy = [0, 0, 1, -1] def bfs(): while queue: x, y = queue.popleft() # print(x, y) for i in range(4): nx = x + dx[i] ny = y + dy[i.. 2023. 10. 9.
[백준] 10773 - 제로 Python https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net import sys input = sys.stdin.readline K = int(input()) num = list() for i in range(K): M = int(input()) if M == 0: num.pop() else: num.append(M) print(sum(num)) 2023. 10. 9.
[백준] 2346 - 풍선 터뜨리기 Python https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net from collections import deque import sys input = sys.stdin.readline N = int(input()) ballons = deque(enumerate(map(int, input().split(" ")))) answer = list() # print(N) # print(ballons) while ballons: idx, paper =.. 2023. 10. 9.
[프로그래머스] 구명보트 Python https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr (1) 정답코드 from collections import deque def solution(people, limit): answer = 0 alone = [] people.sort() queue = deque() for i in people: queue.append(i) while queue: if len(queue) > 1: min = queue.popleft() max = queue.pop(.. 2023. 9. 28.
728x90