Algorithm/프로그래머스

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(d, budget): answer = 0 # 가능한 부서의 수 for i in sorted(d): budget -= i if budget < 0: break answer += 1 return answer 부서별로 신청한 금액이 들어있는 배열 d가 있을 때, 주어진 예산 budget으로 최대 몇 개의 부서에 지원할 수 있는지 구하는 문제이다. 최대한 혼자 풀어보기 위해 고민하고 고민했지만 어려웠다. 처음에는 조합(combinations)을 사용했지만 d의 길이가 최대 100이기 때문..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 시도한 코드 def solution(s): answer = '' s = s.split(' ') for word in s: for i in range(len(word)): if i % 2 == 0: answer += word[i].upper() else: answer += word[i].lower() answer += ' ' return answer.rstrip() 주어진 문자열의 각 단어별 짝수번째 인덱스는 대문자로, 홀수번째 인덱스는 소문자로 나타내는 문제이다. 각 문자의 인덱스가 짝수인지 홀수인지 판..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(arr): answer = [arr[0]] for i in range(1, len(arr)): if arr[i] != arr[i-1]: answer.append(arr[i]) return answer 주어지는 arr에서 연속으로 같은 수가 나오면 하나를 제거한 리스트를 리턴하는 문제이다. 예를 들어, arr=[1, 1, 3, 0, 1, 1]이면 [1, 3, 0, 1]을 리턴하는 것이다. 리스트에서 중복을 제거하는 것은 set을 이용하면 가장 쉽게 할 수 있다. 하지만, set은 순..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(arr1, arr2): for i in range(len(arr1)): for j in range(len(arr1[0])): arr1[i][j] += arr2[i][j] return arr1 두 행렬 arr1, arr2를 더하는 문제이다. numpy를 사용하면 쉽게 할 수 있지만, 라이브러리를 사용하지 않고 어떻게 하면 구현할 수 있을지 고민하는데 시간이 소요되었다. 하지만 조금만 생각하면 쉽게 풀 수 있는 문제이다. 문제에서 주어진 예시를 가지고 살펴보면 다음과 같다. 행렬의 덧..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(left, right): answer = 0 for i in range(left, right+1): c, j = 0, 1 # c = 약수의 개수, j = 약수 # 약수의 개수를 구하는 과정 while j
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(num, total): avg = total // num return [i for i in range(avg - (num-1)//2, avg + (num+2)//2)] 이 문제 또한 주어진 테스트 케이스들을 통해 규칙을 찾아야 하는 문제이다. 연속된 num개의 수의 합이 total이 되도록 해야 한다. 문제에서 주어지는 테스트 케이스들을 살펴보면 중앙에 위치한 값이 total // num임을 알 수 있다. 첫 번째 케이스인 [3, 4, 5]에서 4가 12//3을 한 값이고, num..
dduniverse
'Algorithm/프로그래머스' 카테고리의 글 목록 (9 Page)