본문 바로가기
반응형

재귀4

[프로그래머스] 괄호 변환 Python Code 프로그래머스 괄호 변환을 파이썬으로 풀어보겠다. 이 문제는 2020년 카카오 코딩 테스트 문제고 레벨은 2로 되어있다. 문제 이 문제의 설명은 길지만 용어의 정의를 차근차근 코드로 옮겨 적으면 된다. 매개변수 설명에 양쪽 괄호의 개수가 항상 같으므로 예외사항을 따로 고려하지 않아도 된다. 구현 2번에 "균형 잡힌 문자열" u, v로 구분하는 함수, 3, 4번을 나누는 기준이 되는 "올바른 괄호 문자열" 판단 함수를 분리해서 구현했다. 문제 설명에 구현이 다 나와있어서 별로 생각할 게 없는 문제다. 코드 def divUV(p): l, r = 0,0 for i in range(len(p)): if p[i] == '(': l +=1 else: r +=1 if l==r: return p[:i+1], p[i+1:.. 2022. 9. 4.
[프로그래머스] 타겟 넘버 Python Code 프로그래머스 타겟 넘버를 파이썬으로 풀어보겠다. 이 문제는 레벨 2로 분류되어 있고 DFS, BFS로 풀이할 문제다. 문제 구현 어차피 완전 탐색이지만 BFS에 적응할 겸 BFS로 구현해보겠다. 코드 def solution(numbers, target): data = [0] for num in numbers: res = [] for val in data: res.append(val + num) res.append(val - num) data = res return data.count(target) data가 변화하는 flow를 [1,1,1]로 보겠다. [0] -> [1, -1] -> [2, 0, 0, -2] -> [3, 1, 1, -1, 1, -1, -1, -3] 이렇게 변하여 타겟 값이 몇 개인지 확인.. 2022. 8. 30.
[프로그래머스] 약수의 개수와 덧셈 C++ Code 프로그래머스 약수의 개수와 덧셈을 C++로 풀어보겠다. 2022.08.17 - [Coding Test/Go] - [프로그래머스] 약수의 개수와 덧셈 Go Code 2022.08.17 - [Coding Test/JavaScript] - [프로그래머스] 약수의 개수와 덧셈 JavaScript Code 2022.08.17 - [Coding Test/C++] - [프로그래머스] 약수의 개수와 덧셈 C++ Code 2022.08.17 - [Coding Test/Python] - [프로그래머스] 약수의 개수와 덧셈 Python Code 다른 언어 풀이는 위 링크를 참고하길 바란다. 문제 구현 for문으로 left부터 right까지 반복하며 약수의 개수가 홀수인 경우는 완전 제곱수이기 때문에 제곱수를 판별한 후 해당.. 2022. 8. 17.
[Python] 피보나치 수열 구현 (fibonacci sequence) 이번에는 저번 sorted 포스팅에 이어 과제로 자주 나오는 피보나치 수열을 구현해보겠다. 우선 피보나치 수열이란 첫째 항, 둘째 항이 모두 1이면 그 뒤의 모든 항은 그 앞 두 항의 합인 수열이다. 우선 피보나치 수열을 살펴보자 $$ \begin{align} &F_{0}=&0\\ &F_{1}=&1\\ &F_{n}=&F_{n-2}&+&F_{n-1}& \end{align} $$ 위와 같은 일반항으로 수열이 나타난다. 결국 0, 1, 1, 2, 3, 5, 8, 13, 21 ...... 이런식으로 증가하는 수열이다. 그렇다면 구현해보겠다 우선 우리가 기존에 알던 방식으로 해보겠다. $F_{1}$항부터 시작하도록 하겠다. def fibonacci(number): i=2 arr=[1,1] if(number 2022. 5. 26.
반응형