본문 바로가기

Python45

백준 - 쿼드트리(1992번) (Python3) ''' 영상의 가로, 세로를 반으로 쪼갠다. 즉, 4등분을 한다. 한 점 단위까지 등분을 반복한다. 등분된 각 부분에 대해서, 압축(병합)을 시도한다. 각 압축결과가 0이나 1로 모두 동일하면, 등분 전의 부분에 대한 압축 결과는 해당 압축결과 값이다. 모두 동일하지 않다면, '(왼쪽 위 압축 결과, 오른쪽 위 압축 결과, 왼쪽 아래 압축 결과, 오른쪽 아래 압축 결과)'가 등분 전 부분에 대한 압축 결과가 된다. ''' N = int(input()) input_video = [] for _ in range(N): line = input() input_video.append(line) def solution(size, col_start_index, col_end_index, row_start_index,.. 2020. 5. 14.
백준 - 한수(1065번) (Python3) import sys sys.setrecursionlimit(10000) # 1000 이하의 자연수 N 입력받음 (문자열 형태) N = input() total_count_of_han_number_int = 0 # 현재 문자열 형태의 숫자가 한수인지 체크 def is_han_number(number_to_check_str): if len(number_to_check_str) == 1: return True diff = int(number_to_check_str[1]) - int(number_to_check_str[0]) for num_index in range(1, len(number_to_check_str) - 1): if int(number_to_check_str[num_index + 1]) - \ i.. 2020. 5. 13.
프로그래머스 - (2018 KAKAO BLIND RECRUITMENT) [1차] 뉴스 클러스터링 (Python) import re from collections import Counter def solution(str1, str2): answer = 0 # 문자열들을 모두 소문자로 변환 str1 = str1.lower() str2 = str2.lower() multiset1 = Counter() multiset2 = Counter() # 두 글자씩 끊어서 multiset에 추가. # 단, 글자중에서 둘다 영문자가 아니면 버림. # 길이가 2인 문자열의 두 문자가 모두 알파벳인 정규표현식 str_pattern = re.compile("^[a-zA-Z]{2}$") # str1의 문자를 맨 앞부터 2개씩 검사 for i in range(len(str1) - 1): tmp_str = str1[i:i+2] # 정규표현식에 .. 2020. 5. 8.
프로그래머스 - (2019 카카오 개발자 겨울 인턴십) 튜플 (Python) def solution(input_str): # 정답 튜플을 담을 리스트 answer = [] # set형 문자열 input_str을 list화하여 저장할 list list_of_number = [] # input_str집합의 원소들을 문자열로 가지는 리스트로 변환 list_of_str_element_of_input_str = input_str[2:len(input_str) - 2].split("},{") # list_of_str_element_of_input_str의 각 문자열 원소들을 리스트화 for element in list_of_str_element_of_input_str: list_of_number.append(list(map(int, element.split(',')))) # 원소 list의.. 2020. 5. 8.