본문 바로가기

자료 구조12

[백준][solved.ac][Silver 5][Python] 5568번 : 카드 놓기 밑의 링크는 백준에서의 문제 링크입니다. 5568번: 카드 놓기 예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net 파이썬 코드와 결과입니다. # readline을 사용하기 위해 import합니다. from sys import stdin # permutations를 사용하기 위해 import합니다. from itertools import permutations # 첫째 줄에 카드의 개수 n을 입력합니다. # 정수형으로 변환합니다. n = int(stdin.readline()) # 둘째 줄에 선택하는 카드의 수 k를 입력합니다. # 정수형으로 변환합니다. k = int(stdin.readline()) # 카드들에 쓰여있는 수를 저장.. 2021. 6. 29.
[백준][solved.ac][Silver 4][Python] 10845번 : 큐 밑의 링크는 백준에서의 문제 링크입니다. 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 파이썬 코드와 결과입니다. # readline을 사용하기 위해 import합니다. from sys import stdin # deque을 사용하기 위해 import합니다. from collections import deque # 첫째 줄에는 명령의 수 N을 입력합니다. # 1 2021. 6. 29.
[백준][solved.ac][Silver 3][Python] 1972번 : 놀라운 문자열 밑의 링크는 백준에서의 문제 링크입니다. 1972번: 놀라운 문자열 대문자 알파벳으로만 이루어져 있는 문자열이 있다. 이 문자열에 대해서 ‘D-쌍’이라는 것을 정의할 수 있는데, 이 문자열에 포함되어 있는, 거리가 D인 두 문자를 순서대로 나열한 것을 이 문 www.acmicpc.net 파이썬 코드와 결과입니다. # readline을 사용하기 위해 import합니다. from sys import stdin # *을 입력할 때까지 반복합니다. while True: # 문자열을 입력합니다. # 대문자 알파벳으로만 이루어져 있거나, * 하나만 입력합니다. # 길이는 80을 넘지 않습니다. # 맨 끝의 \n은 떼어줍니다. string = stdin.readline().rstrip() # *을 입력했다면 if s.. 2021. 6. 28.
[백준][solved.ac][Silver 4][Python] 1302번 : 베스트셀러 밑의 링크는 백준에서의 문제 링크입니다. 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 파이썬 코드와 결과입니다. # readline을 사용하기 위해 import합니다. from sys import stdin # 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N을 입력합니다. # 1,000보다 작거나 같은 자연수입니다. # 정수형으로 변환합니다. N = int(stdin.readline()) # 책의 제목을 키, 팔린 책의 개수를 값으로 저장할 딕셔너리 변수를 선언합니다. books_info = {} #.. 2021. 6. 8.
[백준][solved.ac][Silver 4][Python] 10866번 : 덱 밑의 링크는 백준에서의 문제 링크입니다. 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 파이썬 코드와 결과입니다. # readline을 사용하기 위해 import합니다. from sys import stdin # deque를 사용하기 위해 import합니다. from collections import deque # 첫째 줄에 명령의 수 N을 입력합니다. # 1 2021. 6. 5.
[백준][solved.ac][Silver 4][Python] 11899번 : 괄호 끼워넣기 밑의 링크는 백준에서의 문제 링크입니다. 11899번: 괄호 끼워넣기 첫 번째 줄에 S를 올바른 괄호열으로 만들기 위해 앞과 뒤에 붙여야 할 괄호의 최소 개수를 출력합니다. 불가능한 경우는 주어지지 않습니다. www.acmicpc.net 파이썬 코드와 결과입니다. # readline을 사용하기 위해 import합니다. from sys import stdin # 첫 번째 줄에 올바르지 않은 괄호열 S를 입력합니다. # S의 길이는 1 이상 50 이하입니다. # 맨 끝의 \n은 지워줍니다. S = stdin.readline().rstrip() # 괄호 스택을 리스트 변수로 선언합니다. bracket_stack = [] # 필요한 괄호의 최소 개수를 저장하는 변수를 선언합니다. need_bracket_cnt .. 2021. 6. 4.
[백준][solved.ac][Silver 4][Python] 10828번 : 스택 밑의 링크는 백준에서의 문제 링크입니다. 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 파이썬 코드와 결과입니다. # readline을 사용하기 위해 import합니다. from sys import stdin # 첫째 줄에 주어지는 명령의 수 N을 입력합니다. # 1 2021. 6. 3.
[백준][solved.ac][Silver 4][Python] 10773번 : 제로 밑의 링크는 백준에서의 문제 링크입니다. 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 파이썬 코드와 결과입니다. # readline을 사용하기 위해 import합니다. from sys import stdin # 첫 번째 줄에 정수 K를 입력합니다. # 1 2021. 6. 2.
[백준][solved.ac][Silver 4][Python] 1822번 : 차집합 밑의 링크는 백준에서의 문제 링크입니다. 1822번: 차집합 첫째 줄에는 집합 A의 원소의 개수 n(A)와 집합 B의 원소의 개수 n(B)가 빈 칸을 사이에 두고 주어진다. (1 ≤ n(A), n(B) ≤ 500,000)이 주어진다. 둘째 줄에는 집합 A의 원소가, 셋째 줄에는 집합 B의 원소 www.acmicpc.net 파이썬 코드와 결과입니다. # readline을 사용하기 위해 import합니다. from sys import stdin # 첫째 줄에 집합 A의 원소의 개수 n(A), 집합 B의 원소의 개수 n(B)를 빈 칸을 사이에 두고 입력합니다. # 1 2021. 6. 2.
[백준][solved.ac][Bronze 2][Python] 2161번 : 카드1 밑의 링크는 백준에서의 문제 링크입니다. 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 파이썬 코드와 결과입니다. # 첫째 줄에 정수 N을 입력합니다. # 1 2021. 4. 27.