본문 바로가기
반응형

Coding Test122

[프로그래머스] 가장 많이 받은 선물 python 풀이 문제 카카오 겨울 인턴십 기출문제로 난이도는 낮지만 정답률도 낮은 문제라 가져와 봤다. 구현 시뮬레이션은 쉽지만 어떤 타입의 변수에 입력값들을 담아야 할지가 이 문제의 키라고 생각한다.모두 배열로 만들어 매번 배열의 index를 찾게 하는 것보다는dict에 담아서 조금 더 시간의 효율을 얻고 싶었다. 아래 코드에서 살펴보자코드 f에 각 이름 별 index를 담았고나머지는 리스트에 다 담았다. 시뮬레이션 로직은 최 하단의 for문 밖에 없어서 문제 자체는 쉽다.그래서 어떤 data type을 사용할지가 중요한 문제라고 생각된다.다른 풀이 많은 사람들이 이 방식으로 풀었고, 더 좋은 방식은 보이지 않아서 다른 풀이는 가져오지 않았다. 2024. 12. 21.
[프로그래머스] 붕대 감기 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.
반응형