반응형 풀이23 [프로그래머스] 붕대 감기 python 풀이 문제 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/250137 구현 시간에 따라 반복하면 매우 비효율적이기 때문에attack 배열을 반복하면서 각 attack 사이의 delta 값을 위주로 계산해서 풀이 하려고 했다. 아래 코드를 보면 조금 더 쉽게 이해할 수 있을 것이다.코드 조금 잘리긴 했지만 설명을 하자면 각 attack time 간격을 계산해서 delta_time에 넣었다.공격당하기 전까지의 시간까지 회복할 수 있으니 -1을 해줬다.health의 최대치를 넘지 않게 해 주었고, 회복을 완료할만한 시간이 있었는지는 //연산으로 계산한 후 damage만큼 빼줬다. 계산식은 아래와 같다.health = min(max_healt.. 2024. 12. 20. [프로그래머스] 삼총사 Python 풀이 문제 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131705구현조합을 뽑은 후 각 튜플을 sum 한 뒤 0인 것의 개수를 찾으면 끝이다.코드from itertools import combinationsdef solution(number): return list(map(sum, combinations(number,3))).count(0) 쉬운 난이도라 그런지이렇게 푼 사람은 없는 것 같다.다른 풀이대부분의 사람들은 아래와 같은 방식으로 풀었다. 필요하면 수정요청이나 추가 문의 주세요! 😊 2024. 11. 27. [프로그래머스] 택배 배달과 수거하기 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. 이전 1 2 3 4 ··· 6 다음 반응형