본문 바로가기
반응형

프로그래머스234

(Python/🥈3)백준 알고리즘 2606번: 바이러스 문제출처: https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 풀이: bfs 형식 import sys from collections import deque sys.stdin = open('/Users/song/Desktop/Python/Python/h.txt', 'r') computer = int(input()) line = int(input()) graph = [[] for _ in range(computer+1)] for i in range(line.. 2023. 2. 13.
(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/LV1) 둘만의 암호 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이: def solution(s, skip, index): res = '' arr = [chr(i) for i in range(97, 123) if chr(i) not in skip] for i in s: if arr.index(i)+index >= len(arr): res += arr[arr.index(i)+index-len(arr)] else: res += arr[arr.inde.. 2023. 2. 2.
(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) 시소 짞꿍 문제 출처: 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.
반응형