목록Algorithm/Programmers (76)
S E P H ' S

코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr def solution(nums): types = len(set(nums)) if len(nums) / 2 > types: return types else: reurn len(nums) / 2

코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 프로그래머스 문제를 풀면서 수학의 중요성을 다시 한번 깨닫게 해준 문제다. def divisor(n): nums = [] for i in range(1, n+1): if n % i == 0: nums.append(i) return len(nums) def solution(left, right): answer = 0 for i in range(left, right+1): if divisor(i) % 2 == 0:..

코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr def solution(absolutes, signs): answer = 0 for i in range(len(absolutes)): if signs[i]: answer += absolutes[i] elif signs[i] == False: answer -= absolutes[i] return answer

코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 처음 생각한 아이디어는 d에서 몇가지를 뽑아서 budget을 넘지 않으면서 가장 큰 값을 찾는 것을 생각했다. 하지만 그렇게 된다면 모든 경우의 수를 생각해야하고 로직이 복잡해질 것 같다는 생각을 했다. 그래서 생각한 아이디어는 다음과 같다. 1. d를 오름차순으로 정렬하여 작은 값부터 budget에서 빼나가면서 정답을 체크한다. 2. 정렬한 d의 첫 값이 budget보다 크면 지원할 부서는 없다. def solution(d, budget): answer = 0 d..