본문 바로가기
반응형

Coding Test/Python53

[프로그래머스] 예산 Python Code 프로그래머스 코딩 테스트 연습문제인 예산을 Python으로 풀어보겠다. 참고로 이 문제는 Go가 없으므로 JavaScript, C++ 만 올릴 예정이다. 문제 이번 문제도 매우 쉽게 이해할 수 있다. 주어진 예산 안에서 최대한 많은 팀에게 지원해주어야 하고, 몇 개의 팀에 지원이 되었는지 답으로 return 하면 된다. 구현 방법 신청한 금액의 list d를 오름차순으로 sorting하고 돌며 budget에서 빼며 count 하고 budget이 0 미만이 되면 count 된 값을 return 하는 방식으로 구현했다. Code def solution(d, budget): answer = 0 d.sort() for cost in d: budget -= cost if budget 2022. 8. 10.
[프로그래머스] 없는 숫자 더하기 Python Code 프로그래머스 레벨 1 없는 숫자 더하기를 파이썬으로 풀어보겠다. 문제 문제는 간단하게 이해할 수 있다. numbers에 없는 숫자를 찾아서 더하면 된다. 구현 방식 문제를 그대로 구현해보았다. temp 안에 0~9까지의 숫자를 넣어 놓고 numbers를 돌며 numbers 요소를 temp에서 제거했다. 그 후 temp에 남아있는 숫자를 모두 더해서 정답을 출력했다. 코드 def solution(numbers): answer = 0 temp = [i for i in range(10)] for num in numbers: temp.remove(num) return sum(temp) 잘 풀었다고 생각하지만 머리를 조금만 더 쓰면 아래와 같은 풀이가 가능했다... def solution(numbers): ret.. 2022. 8. 8.
[프로그래머스] 소수 만들기 Python Code 프로그래머스의 소수 만들기를 파이썬으로 풀어보겠다. 소수란 1과 자신으로만 나누어지는 1보다 큰 자연수이다. 이 문제에서는 소수, 조합에 대한 이해가 필요하다. python으로 문제를 풀어보겠다 문제 여기서 필요한 것은 리스트에서 3개를 뽑는 기능(조합), 소수 판별 기능이다. 여기서 조합 기능은 itertools의 combination을 사용할 것이다. 해당 함수는 아래 링크에서 확인 가능하다. https://docs.python.org/ko/3/library/itertools.html#itertools.combinations 구현 순서는 1. 조합 리스트에 가능한 조합들을 넣고 2. 해당 리스트를 돌며 합을 구해 소수인지 판별하고 3. 소수라면 answer에 더해줄 것이다. Code from iter.. 2022. 8. 4.
[프로그래머스] 내적 Python Code 프로그래머스 추천 문제가 아직 레벨 1로 나온다. 내적을 풀어보겠다. 문제 문제가 상당히 쉽다 바로 구현해보겠다 Code def solution(a, b): answer=0 for n1, n2 in zip(a, b): answer += n1*n2 return answer 개인적으로 zip, enumerate 함수를 많이 사용하는 편이다. zip으로 풀어서 라인 수가 적다고 생각했지만... Python은 숏코딩 덕후들이 많은 것 같다. 1. def solution(a, b): return sum([x*y for x, y in zip(a,b)]) 2. solution = lambda x, y: sum(a*b for a, b in zip(x, y)) 퍼포먼스는 lambda를 사용한 2번보다 1번이 더 좋다. 2022. 7. 29.
반응형