python 80

[SWEA] 1767 프로세서 연결하기 python

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4suNtaXFEDFAUf&categoryId=AV4suNtaXFEDFAUf&categoryType=CODE&problemTitle=SW&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=3 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com import sys sys.stdin = open('./sample_input_1.txt', 'r') for tc in range(1, int(input()) +..

STUDY/Algorithm 2021.03.17

[백준] 14888 연산자 끼워넣기

https://acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net n = int(input()) n_list = list(map(int, input().split())) operator = list(map(int, input().split())) min_val = 1000000000 max_val = -1000000000 def backtrack(index, number=n_list[0]): if index == ..

STUDY/Algorithm 2021.03.10

[백준] 2589 보물섬

https://acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net from collections import deque n, m = map(int, input().split()) _map = [ input() for i in range(n)] # n, m = 5, 7 # _map = ['WLLWWWL', 'LLLWLLL', 'LWLWLWW', 'LWLWLLL', 'WLLWLWW'] def bfs(x, y): q = deque() visited = [[0] * m for _..

STUDY/Algorithm 2021.03.08

[프로그래머스] LEVEL2 스킬트리, python3, Summer/Winter Coding(~2018)

def solution(skill, skill_trees): answer = 0 for skill_tree in skill_trees: old_val = skill_tree.find(skill[0]) # 이전값과 비교하기 위한 변수. 처음 값은 skill의 첫 글자의 인덱스값 for sk in skill[1:]: val = skill_tree.find(sk) # val는 비교할 값의 인덱스 if old_val == -1: # 만약 old_val == -1 인 경우에는(스킬트리 내에 없음) if val != -1: # 다음값이 다 -1인 경우(스킬트리에 없는 경우)에만 진행 break # 하나의 값이 존재하면 불가능한 스킬트리 else: # old_val > -1 # 이전값이 스킬트리 내에 있고 if va..

STUDY/Algorithm 2021.01.28

[프로그래머스] LEVEL3 단어 변환, python3, 깊이/너비 우선 탐색(DFS/BFS)

def solution(begin, target, words): if not target in words: return 0 answer = 0 queue = [begin] while words!=[]: answer+=1 tmp=[] while queue: word_stack=queue.pop(0) for word in words: change=0 for i in range(len(word)): if word[i]==word_stack[i]: change+=1 if change==len(word)-1: tmp.append(word) words= list([word for word in words if word not in tmp]) #print("after:",tmp,words) if tmp==[] and..

STUDY/Algorithm 2020.01.17

[프로그래머스] LEVEL3 추석 트래픽, python3, 2018 KAKAO BLIND RECRUITMENT[1차]

def solution(lines): answer,len_lines,count = 0, 0 ,1 start,finish=[],[] for log in lines: len_lines+=1 #print("완료시간:",log[11:23],"처리시간:",log[23:-1],"s") tmp=float(log[11:13])*3600+float(log[14:16])*60+float(log[17:23]) finish.append(tmp) start.append(round(tmp-float(log[24:-1])+0.001,3)) # print("start:",start,"\nfinish:",finish) for i in range(len_lines): # 종료시간으로 오름차순 정렬이므로, 종료시간만 비교 # 한 로그의 ..

STUDY/Algorithm 2020.01.09

[프로그래머스] LEVEL3 서머코딩/윈터코딩(2019) 종이접기, python3

def solution(n): answer = [] for i in range(n): if answer!=[]: tmp=[] tmp_rvs=[] for j in answer[-1]: tmp.append(j) if j==1: tmp_rvs.append(0) elif j==0: tmp_rvs.append(1) tmp.append(0) tmp_rvs.reverse() for j in tmp_rvs: tmp.append(j) answer.append(tmp) else: answer.append([0]) return answer[-1] 이 규칙은 쉽게 생각했다. N+1번째 배열은 가운데 0을 기준으로(추가해주고) 왼쪽은 N번째 배열 오른쪽은 N번째 배열의 순서와 접은 방향을 반대로한 배열을 배치해주면 되었다. 이..

STUDY/Algorithm 2020.01.08