본문 바로가기

Algorithm475

[파이썬] 프로그래머스 : 야근지수 (Lv.3) [파이썬] 프로그래머스 : 야근지수 (Lv.3) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 0. 방향성 생각 일단 정렬 + 뒤에 원소를 접근하는 방식으로 구현하려고 했는데 이럴거면 그냥 힙써서 구현하기로 함. 디폴트가 최소힙이다. work에서 큰거부터 빼내야 하므로 work 부호 바꿔서 힙 만들기. heappop이 0이면 모든 원소가 0이다. 탈출조건 걸어놓고 진행 -> 테스트 케이스 3 가장 작은원소 꺼내서 +1씩 해준다. n 다쓰면 탈출 -> 테스트 케이스 2 전체코드 import heapq def solution(n,works): if su.. 2023. 7. 8.
[파이썬] 프로그래머스 : 땅따먹기 (Lv.2) [파이썬] 프로그래머스 : 땅따먹기 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방향성 생각 딱봐도 DP문제긴 한데 평소같으면 BFS DFS로 풀겠는데 DP 실력이 안늘어서 DP 연습.. 출발점 4개에 대해서 전부 DP 돌려서 저장해주면 된다. 점화식이라고 하기엔 이전값 + 이전 인덱스 아닌거 중 최대라서 크게 어렵지는 않다. def solution(land): dp = [[0]*4 for _ in range(len(land))] dp[0] = land[0] for i in range(1,len(land)): for j in range.. 2023. 7. 8.
[파이썬] 프로그래머스 : 큰 수 만들기 (Lv.2) [파이썬] 프로그래머스 : 큰 수 만들기 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 0.방향성 생각 처음에는 사이즈 k의 윈도우를 만들어서 앞자리에 작은 수가 존재하면 잘라내는 식으로 진행 문제 조건을 보니 k의 사이즈도 매우 크다. 윈도우를 만들고 탐색하면 시간초과.. -> 스택으로 풀기 새로운 입력에 대해서 처리하기 def solution(number,k): number = list(number) arr = [number[0]] for i in number[1:]: while arr and arr[-1]0: # 새 입력 들어왔을 .. 2023. 7. 8.
[파이썬] 프로그래머스 : 우박수열 정적분 (Lv.2) [파이썬] 프로그래머스 : 우박수열 정적분 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 0. 방향성 생각 누적합을 활용해서 구간합을 구한다. 1. 주어진 수열 완성, 누적합 구하기 def solution(k,ranges): arr,cum,answer = [k],[],[] while arr[-1] > 1 : if arr[-1]%2==0 : arr.append(arr[-1]//2) else : arr.append(arr[-1]*3+1) for i in range(len(arr)-1): if i==0 : cum.append((arr[0]+a.. 2023. 7. 8.