일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- SQLD
- IAM
- EC2
- RDBMS
- hadoop
- SQL
- CLF-01
- hive
- sql자격증
- CCAAdministrator
- 쉘스크립트
- 하둡
- 빅데이터
- 프로그래머스
- 파이썬
- mysql
- 빅데이터실무자격증
- 데이터베이스
- Multi Factor Authentication
- AWS자격증
- 클라우드컴퓨팅
- programmers
- CCA131
- 리눅스
- 코딩테스트
- 클라우데라자격증
- 클라우드자격증
- MFA
- Identity and access management
- AWSCloudPractitioner
- Today
- Total
목록Python/coding test_Algorithm (7)
Sherry IT Blog

재귀함수에 의해 구현이 되는 알고리즘 재귀함수란 ?(recursive functions)- 하나의 함수에서 자신을 다시 호출해서 작업을 수행하는 것을 말한다. 생각보다 많은 종류의 문제가 재귀적으로 해결가능하다고한다. #재귀적인버전(Recursive version) #O(n) def sum(n): if n=0: s+=n n-=1 print("s :",s ,"| n ::",n) return s a = int(input("Number:: ")) print(sum(a)) 출력 보기쉽게 s와 n을 찍어봤다. s는 4+3+2+1을 누적하는 값을 담은 변수이고 n은 입력값에서 -1 되는 변수 n+(n-1) n이 0 이하일때 while 문이 종료되기 때문에 n값을 더한 10 출력 알고리즘 복잡도는 O(n)으로 둘다 ..
재귀 알고리즘 이진 탐색 순차 탐색 버블정렬 삽입정렬 탐욕 알고리즘 최단거리 알고리즘 몬테 카를로 알고리즘
문제 설명 리스트 L 과, 그 안에서 찾으려 하는 원소 x 가 인자로 주어질 때, x 와 같은 값을 가지는 원소의 인덱스를 리턴하는 함수 solution() 을 완성하세요. 만약 리스트 L 안에 x 와 같은 값을 가지는 원소가 존재하지 않는 경우에는 -1 을 리턴합니다. 리스트 L 은 자연수 원소들로 이루어져 있으며, 크기 순으로 정렬되어 있다고 가정합니다. 또한, 동일한 원소는 두 번 이상 나타나지 않습니다. 예를 들어, L = [2, 3, 5, 6, 9, 11, 15] x = 6 의 인자들이 주어지면, L[3] == 6 이므로 3 을 리턴해야 합니다. 또 다른 예로, L = [2, 5, 7, 9, 11] x = 4 로 주어지면, 리스트 L 내에 4 의 원소가 존재하지 않으므로 -1 을 리턴해야 합니다..

문제 설명 인자로 주어지는 리스트 L 내에서, 또한 인자로 주어지는 원소 x 가 발견되는 모든 인덱스를 구하여 이 인덱스들로 이루어진 리스트를 반환하는 함수 solution 을 완성하세요. 리스트 L 은 정수들로 이루어져 있고 그 순서는 임의로 부여되어 있다고 가정하며, 동일한 원소가 반복하여 들어 있을 수 있습니다. 이 안에 정수 x 가 존재하면 그것들을 모두 발견하여 해당 인덱스들을 리스트로 만들어 반환하고, 만약 존재하지 않으면 하나의 원소로 이루어진 리스트 [-1] 를 반환하는 함수를 완성하세요. 예를 들어, L = [64, 72, 83, 72, 54] 이고 x = 72 인 경우의 올바른 리턴 값은 [1, 3] 입니다. 또 다른 예를 들어, L = [64, 72, 83, 72, 54] 이고 x =..

문제 설명 리스트 L 과 정수 x 가 인자로 주어질 때, 리스트 내의 올바른 위치에 x 를 삽입하여 그 결과 리스트를 반환하는 함수 solution 을 완성하세요. 인자로 주어지는 리스트 L 은 정수 원소들로 이루어져 있으며 크기에 따라 (오름차순으로) 정렬되어 있다고 가정합니다. 예를 들어, L = [20, 37, 58, 72, 91] 이고 x = 65 인 경우, 올바른 리턴 값은 [20, 37, 58, 65, 72, 91] 입니다. 힌트: 순환문을 이용하여 올바른 위치를 결정하고 insert() 메서드를 이용하여 삽입하는 것이 한 가지 방법입니다. 주의: 리스트 내에 존재하는 모든 원소들보다 작거나 모든 원소들보다 큰 정수가 주어지는 경우에 대해서도 올바르게 처리해야 합니다. *내가 제출한 정답 de..

문제설명 입력으로 주어지는 리스트 x 의 첫 원소와 마지막 원소의 합을 리턴하는 함수 solution() 을 완성하세요. *내가 제출한 정답 def solution(x): answer = 0 for i in range(0,len(x)): temp = len(x)-1 if i == 0 or i == temp: answer += x[i] return answer 또는 def solution(x): answer = 0 for i in range(0,len(x)): if i == 0 or i == len(x)-1: answer += x[i] return answer 또는 def solution(x): answer = 0 for i in (0,-1): answer += x[i] return answer >> 범위..

문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입니다. a..