본문 바로가기
반응형

프로그래머스/2단계108

(Python/LV2) 미로탈출 문제출처:https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이: from collections import deque def solution(maps): board = [list(maps[i]) for i in range(len(maps))] f_n, f_m = 0, 0 s_n, s_m = 0, 0 Q = deque([]) for i in range(len(board)): for j in range(len(board[0])): if board.. 2023. 2. 18.
(Python/LV2) 호텔 대실 문제출처: 풀이: def solution(book_time): time = [0 for i in range(60*24)] for i in book_time: start, end = i start_left, start_right = int(start[:2]),int(start[3:]) end_left, end_right = int(end[:2]),int(end[3:]) left = start_left * 60 + start_right right = end_left * 60 + end_right for i in range(left,right): time[i] += 1 return max(time) 몇개 더 틀림 중복되는 시간만큼은 무조건 필요하므로 그 갯수가 최댓값이라고 생각했다. 청소시간 10분은 생각하지.. 2023. 2. 7.
(Python/LV2)뒤에 있는 큰 수 찾기 문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이: from collections import deque def solution(numbers): res = [] numbers = deque(numbers) while numbers: now = numbers.popleft() for i in numbers: if i > now: res.append(i) break else: res.append(-1) return res 82... 2023. 1. 30.
(Python/LV2)[1차] 프렌즈4블록 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이: def solution(m, n, board): for i in range(m): board[i] = list(board[i]) count = 0 set_pop = set() # 공통으로 터지는 부분 방지 while True: for x in range(m-1): for y in range(n-1): now = board[x][y] if now == []: continue if .. 2023. 1. 23.
(Python/LV2) 시소 짞꿍 문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/152996 풀이: from itertools import combinations, product def solution(weights): count = 0 lists = tuple(combinations(weights,2)) times = tuple(product([2,3,4],repeat = 2)) for list in lists: for time in times: if list[0] == list[1]: count += 1 break if list[0] * time[0] == list[1] * time[1]: count += 1 break return count 쉬웠지만 역시 호락호락.. 2023. 1. 21.
(Python/LV2) 택배배달과 수거하기 문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이: def solution(cap, n, deliveries, pickups): answer = 0 while deliveries or pickups: while deliveries and deliveries[-1] == 0: del deliveries[-1] while pickups and pickups[-1] == 0: del pickups[-1] answer += 2 *(m.. 2023. 1. 18.
반응형