프로그래머스

파이썬 문제풀이

[프로그래머스 파이썬] 단어 변환

📌문제 출처 프로그래머스 LV 3 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❓ 문제 📗 풀이 코드 ''' words를 순환하며 각 단어끼리 알파벳 하나 차이만 나는 것들을 words_dict에 담아둔다. begin부터 시작해서 words_dict의 word를 하나씩 꺼내서 bfs 진행 ''' from collections import defaultdict,deque def solution(begin, target, words): def ..

파이썬 문제풀이

[프로그래머스 파이썬] 호텔 대실

📌문제 출처 프로그래머스 LV 2 https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❓ 문제 📗 풀이 코드 ''' book_time을 ':'를 없애고 정수형태로 변경하고, 종료시간에 10분을 더한 후 heap 정렬한다. end_times이라는 heap 구조를 생성 book_time에서 heappop으로 시작 시간이 가장 빠른 손님을 뽑는다. 최초 손님의 경우 : room_cnt+1, eet(earlist_end_time)에 퇴장 시간 넣어주고 ..

파이썬 문제풀이

[프로그래머스 파이썬] 최고의 집합

📌문제 출처 프로그래머스 LV 3 https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❓ 문제 📗 풀이 코드 ''' 1) s를 n으로 나눈 몫(t), 나머지(r)을 구하여 t가 s-r개, t+1이 r개 있는 list를 return 2) 몫이 0이면 return [-1] ''' def solution(n, s): t,r = divmod(s,n) return [t]*(n-r)+[t+1]*r if t else [-1]

파이썬 문제풀이

[프로그래머스 파이썬] 연속된 부분 수열의 합

📌문제 출처 프로그래머스 LV 2 https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❓ 문제 📗 풀이 코드 ''' 1) k보다 크면 작거나 같아질 때까지 첫 인덱스를 키워가며 누적합에 포함된 인덱스를 앞에서부터 줄인다. 2) k보다 작으면 작거나 같아질 때까지 끝 인덱스를 키워가며 누적합에 포함된 인덱스를 뒤로 늘린다. 3) 위 과정에서 해당 인덱스까지의 누적합이 k인 경우를 찾으면, 기존 ans와 비교해서 전체 인덱스의 길이가 짧은 것을 정답..

파이썬 문제풀이

[프로그래머스 파이썬] 야근 지수

📌문제 출처 프로그래머스 LV 3 https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❓ 문제 📗 풀이 코드 ''' 야근피로도를 가장 줄이기 위해서는 가능한 모든 작업을 골고루 진행해서 최대값과 최소값의 차이를 줄여야한다. works에 -를 붙이고 heap 정렬을 시킨다. heappop으로 최대값을 뽑아내어 남은 것들 중 최대값보다 1이 작을때까지 일하기를 반복하자. ''' from heapq import heapify, heappush, heap..

파이썬 문제풀이

[프로그래머스 파이썬] 숫자 변환하기

📌문제 출처 프로그래머스 LV 2 https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❓ 문제 📗 풀이 코드 ''' 연산회수를 하나씩 늘려가며 제일 먼저 도착하는 경우에 바로 return할 수 있도록 heap을 포함한 bfs를 활용하자. 이때 곱하기 연산은 수가 빨리 커지고 확인할 수의 간격이 넓어지므로 비효율적이기에 출발과 도착 지점을 바꾸어 나누기 연산으로 진행 ''' from heapq import heappush, heappop def s..

파이썬 문제풀이

[프로그래머스 파이썬] 네트워크

📌문제 출처 프로그래머스 LV 3 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❓ 문제 📗 풀이 코드 ''' 각 노드로부터 연결된 노드들을 리스트 형태로 담은 딕셔너리를 만들고, union-find 알고리즘으로 간접, 직접적으로 연결된 노드 중 최소값들을 찾는다. 최소노드들의 종류를 구하면 된다. ''' def solution(n, computers): def find(node): # 최소 노드(부모 노드)를 찾는 함수 if node != ..

파이썬 문제풀이

[프로그래머스 파이썬] 땅따먹기

📌문제 출처 프로그래머스 LV 2 https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❓ 문제 📗 풀이 코드 ''' i행 j열 칸까지 도달할 때까지의 최대값은 다음과 같은 점화식으로 나타낼 수 있다. dp[i][j] = land[i][j]+max(dp[i-1][:j]+dp[i-1][j+1:]) 위와 같은 점화식으로 마지막 행에 도착했을 때의 최대값을 구하자. ''' def solution(land): dp = [[0]*len(land[0]) for..

냄비짱
'프로그래머스' 태그의 글 목록