본문 바로가기

Algorithm80

[BOJ] 1622. 공통 순열 (python) 백준 1622. 공통 순열 (파이썬) 1622번: 공통 순열 알파벳 소문자로 이루어진 두 문자열 a와 b에 대해, a의 부분 수열의 순열이자 b의 부분 수열의 순열이 되는 가장 긴 문자열 x를 구하여라. www.acmicpc.net # [BOJ] 1622. 공통 순열 while True: try: a = input() b = input() bd = {} for bb in b: if bb in bd: bd[bb] += 1 else: bd[bb] = 1 ans = '' for aa in a: if aa in b and bd[aa] > 0: ans += aa bd[aa] -= 1 print(''.join(sorted(ans))) except EOFError: break 딕셔너리 이용해서 여러 번 카운팅되지 않.. 2022. 12. 19.
[BOJ] 19844. 단어 개수 세기 (python) 백준 19844. 단어 개수 세기 (파이썬) 19844번: 단어 개수 세기 첫째 줄에 “문장”을 나타내는 문자열이 주어진다. 이 문자열은 영어 소문자, 띄어쓰기, -(하이픈), '(어포스트로피)로만 이루어져 있다. 이때 띄어쓰기, 하이픈, 어포스트로피 중 어느 것도 인 www.acmicpc.net # [BOJ] 19844. 단어 개수 세기 S = list(input().replace(' ', '-').split('-')) ans = len(S) words = ["c'", "j'", "n'", "m'", "t'", "s'", "l'", "d'", "qu'"] for s in S: # 줄인 단어로 시작하는 경우만 카운트, 이후에 모음이 올 때만 if s[0:2] in words: if s[2] in ['a'.. 2022. 12. 18.
[BOJ] 11976. Promotion Counting (python) 백준 11976. Promotion Counting (파이썬) 11976번: Promotion Counting Input consists of four lines, each containing two integers in the range 0..1,000,000. The first line specifies the number of bronze participants registered before and after the contest. The second line specifies the number of silver participants before and www.acmicpc.net 📑 문제 대회는 브론즈, 실버, 골드, 플래티넘의 등급으로 이루어져 있고, 만점을 받으면 다음 등급으로 승급이 가.. 2022. 12. 17.
[BOJ] 2805 나무 자르기 (python) 백준 2805: 나무 자르기 (파이썬) 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net # [BOJ] 2805. 나무 자르기 # N: 나무의 수, M: 가져가고자 하는 나무의 길이 N, M = map(int, input().split()) L = list(map(int, input().split())) # 적어도 M 미터의 나무를 집에 가져가기 위해서 절단기에 설정할 수 있는 높이의 최댓값 min_v = 0 max_v = max(L) while min_v mid: a +.. 2022. 12. 12.
[BOJ] 1966 프린터 큐 (python) 백준 1966: 프린터 큐 (파이썬) 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net # [BOJ] 1966. 프린터 큐 T = int(input()) for tc in range(T): # N: 문서의 개수, M: 현재 queue에서의 위치 N, M = map(int, input().split()) ans = 0 # N개 문서의 중요도 imp = list(map(int, input().split())) L = ['o'] * N L[M] = 'x' while 'x' in L: # 맨 앞 값보다 중요도가 높은 값이.. 2022. 12. 11.
[BOJ] 4949 균형잡힌 세상 (python) 백준 4949: 균형잡힌 세상 (파이썬) 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net # [BOJ] 4949. 균형잡힌 세상 OP = ['(', '['] CP = [')', ']'] while 1: S = input() if S == '.': break # 괄호가 아예 없는 경우 yes 처리 if '(' not in S and ')' not in S and '[' not in S and ']' not in S: print('yes') # 여기서부터 문제풀이 else: ans = 'ye.. 2022. 12. 10.
728x90