본문 바로가기
반응형

풀이21

[프로그래머스] 택배 배달과 수거하기 Python 풀이 문제 택배를 배달하고 효율적으로 수거하는 방법을 구하는 문제다. 구현 최대한 먼 곳부터 처리하는 것이 효율적이기 때문에 deliveries, pickups 리스트를 뒤집고 시작할 것이다. 그러고 맨뒤부터 차례대로 배달과 수거를 미리 계산하도록 구현하면 되는 간단한 문제다. 코드로 보면 이해가 쉬울 것이다. 코드 def solution(cap, n, deliveries, pickups): answer=0 d,p=0,0 deliveries.reverse() pickups.reverse() for i in range(n): d+=deliveries[i] p+=pickups[i] while d>0 or p>0: d-=cap p-=cap answer += (n-i)*2 return answer 여기서 d와 p는 .. 2023. 6. 29.
[프로그래머스] 배열 조각하기 Python 풀이 문제 사실 어려운 문제가 아닌데 정답률이 낮게 되어 있어서 후다닥 블로그로 정리를 해봤다. 구현 s(start), e(end) 포인터 두 개를 조작하면서 마지막에 slice를 반환하도록 구현을 할 것이다. query 배열을 index 가지고 돌면서 s와 e를 각각 조작해 주면 된다. 아예 slice로 다 해도 되지만 성능상 좋지 않아서 이렇게 설계를 했다. 코드 def solution(arr, query): s,e=0,0#0,len(arr) for i in range(len(query)): if i%2: s+=query[i] else: e=s+query[i] return arr[s:e] if s!=e else [-1] 사실 e도 arr의 길이로 초기화해주어야 하는 게 정상적이지만 초반에 습관적으로 0,0.. 2023. 4. 21.
[Codility] Pi Code Challenge Python 오랜만에 Codility Challenge에 도전해 봤다. 다음 링크로 접속하면 코딜리티 챌린지에 도전할 수 있다. https://app.codility.com/programmers/challenges/ Pi Code Challenge challenge Show your skills! app.codility.com 120분이 주어지고 웬만한 언어는 모두 사용할 수 있다. 결과는 아쉽게 silver award를 받았다. 결국 golden award를 받아냈다 https://app.codility.com/cert/view/certGZCQDP-F9SNH7TKQMAH37EG/ 문제 설명 영어 울렁증이 있는 분들을 위해 문제 설명을 하면 알파벳으로 된 P, Q 두 문자열이 주어지고 결과 문자열 S를 만들어 S에서.. 2023. 4. 14.
[프로그래머스] 추억 점수 Python 풀이 문제 구현 dict에 사람과 그리움 점수를 담고 photo에서 계산하면서 result에 담으면 된다. 사실 레벨 0으로 들어가도 될 것 같은 문제다. 코드 from collections import defaultdict def solution(name, yearning, photo): ndict = defaultdict(int) answer = [] for n, y in zip(name, yearning): ndict[n] = y for p in photo: sumyearn = 0 for n in p: sumyearn += ndict[n] answer.append(sumyearn) return answer 다른 풀이 파이썬의 또다른 재미는 숏코딩이다. def solution(name, yearning, .. 2023. 4. 6.
반응형