개발공부

개발공부/algorithm

[프로그래머스][python] 타겟넘버 - DFS/BruteForce

문제 프로그래머스 타겟넘버 Level 2 Link 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 나의 접근 1. Brute Force 우선 완전 탐색으로 풀어보았다. 주어지는 숫자의 개수가 최대 20개다보니 시간 초과가 뜨지 않고 모든 테케가 통과된다. # Brute Force def solution(numbers, target): answer = 0 current_list = [numbers[0], -numbers[0]] for i in range(1,..

개발공부/algorithm

[프로그래머스][python] 기능 개발 - list

문제 프로그래머스: 기능 개발 Level 2 Link 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 나의 코드 각 작업의 남은 일수를 계산하여 순서대로 order 리스트에 추가해준다. order 리스트에서: i번째 원소가 i + 1번째 원소보다 보다 크거나 같으면, 그 다음 기능들이 i번째 원소와 같은 날 배포가 된다. 한 번에 배포되는 작업 수를 1 증가시켜준다. i번째 원소가 i + 1 보다 작다면, 배포 일자는 그 다음으로 넘어가기에 result 리스트에 새로운 수를 추가해주고 1 증가시켜준다...

개발공부/algorithm

[프로그래머스][python] 짝지어 제거하기 - stack/queue

문제 프로그래머스 짝지어 제거하기 Level 2 Link 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 나의 접근 첫 시도 (시간 초과) 정확도는 테스트 케이스를 모두 패스했으나 효율성에서 단 한개의 테스트 케이스도 통과하지 못했다.. 문자열을 리스트로 받고 큐의 상위 원소가 들어오는 원소와 같으면 기존의 큐에서 pop해주고, 그러지 않은 경우에는 q에 추가를 해주었다. 아무래도 문자열이 엄청 길어지는 테스트 케이스에서 효율성을 패스를 못하는 것 같았다. def solution(s): q = [..

so.py
'개발공부' 카테고리의 글 목록 (7 Page)