본문 바로가기

Programmers39

[프로그래머스 Lv.1] 최소직사각형 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(sizes): sizes = [sorted(x,reverse=True) for x in sizes] # [[60, 50], [70, 30], [60, 30], [80, 40]] widths = [x[0] for x in sizes] # [60, 70, 60, 80] heights = [x[1] for x in sizes] # [50, 30, 30, 40] return max(widths)*max(heights) 이번 문제는 주어진 명함들의 가로와 세로길이가 주어졌을 때, 명함을 가로나 .. 2023. 9. 28.
[프로그래머스 Lv.2] 다리를 지나는 트럭 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(bridge_length, weight, truck_weights): time = 0 queue = [] while truck_weights or queue: time += 1 if queue: queue = [(x[0],x[1]-1) for x in queue if x[1]-1 != 0] if truck_weights and sum([x[0] for x in queue]) + truck_weights[0] 2023. 9. 21.
[프로그래머스 Lv.2] 프로세스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(priorities, location): answer = 0 queue = [(i,value) for i,value in enumerate(priorities)] while queue: index, priority = queue.pop(0) if queue and max([x[1] for x in queue]) > priority: queue.append((index,priority)) continue answer += 1 if index == location: return answer.. 2023. 9. 21.
[프로그래머스 Lv.2] 기능개발 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(progresses, speeds): answer = [] length = len(progresses) while len(progresses) > 0: count = 0 remain = 100-progresses[0] if remain%speeds[0] != 0: remain = remain // speeds[0] + 1 else: remain = remain // speeds[0] progresses = [value+(remain*.. 2023. 9. 21.
[프로그래머스 Lv.2] 올바른 괄호 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): answer = True stack = [] for item in s: if len(stack) == 0: stack.append(item) elif stack[-1] == '(': if item == ')': stack.pop() elif item == '(': stack.append(item) else: stack.append(item) if len(stack) != 0: return False return True 이번 문제는 괄호만 입력받는다는 조건 하에, 괄호가 올바르게.. 2023. 9. 21.
[프로그래머스 Lv.2] 게임 맵 최단거리 from collections import deque def solution(maps): n,m = len(maps), len(maps[0]) # 행 개수, 열 개수 dx = [-1,1,0,0] dy = [0,0,-1,1] visited = [[False]*m for _ in range(n)] queue = deque([(0,0)]) visited[0][0] = True while queue: x,y = queue.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if nx >= 0 and nx = 0 and ny < m and not visited[nx][ny] and maps[nx][ny] != 0: queue.append(.. 2023. 8. 2.