일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 사이킷런
- 완주하지못한선수
- 머신러닝
- openai
- h2 데이타베이스
- 프로그래머스
- streamlit
- 파이썬
- 자바 열거형
- 쓰레드 풀
- 스프링 부트
- Python
- WinError5
- 알고리즘
- Selenium
- GIT
- REST API
- Java
- oracle
- 오라클
- db
- 컬렉션 인터페이스
- 자바 로그 레벨
- 셀레니움
- 스프링 부트3
- 컬렉션 프레임웍
- conda remove
- URI 원칙
- 사이킷런 회귀
- 차원증가
- Today
- Total
목록Algorithm (7)
노트 :

버블 정렬은 정렬 알고리즘 중에서 가장 단순하다. 인접한 원소들이 잘못된 순서로 위치한다면 계속적으로 자리를 바꿔준다. 시간복잡도: O(n^2) 코드> def bubble_sort(arr): n = len(arr) swapped = False for i in range(n-1): for j in range(0, n-1-i): if arr[j] > arr[j+1]: swapped = True arr[j], arr[j+1] = arr[j+1], arr[j] else: pass return arr 실행결과> 출처: https://www.geeksforgeeks.org/python-program-for-bubble-sort/

선택 정렬은 정렬되지 않은 배열에서 반복적으로 최소값을 가지는 원소(오름차순 정렬의 경우)를 찾아 배열의 맨 앞자리에 높음으로써 정렬하는 방식이다. 선택 정렬은 원 배열을 두 개의 서브 배열로 나눈다. 1) 이미 정렬되어 있는 서브 배열 2) 정렬되어 있지 않은 나머지 서브 배열. 선택 정렬을 순회하는 매 차수마다 최소값을 가지는 원소가 해당 서브 배열에서 선택되어 이미 정렬되어 있는 1번 서브 배열로 옮겨진다. 공간복잡도: O(n) 시간복잡도: O(n^2) 코드> def selection_sort(array): for idx in range(len(array)): min_idx = idx for j in range(idx+1, len(array)): if array[j] < array[min_idx]:..
* 알고리즘(algorithm) : 수학과 컴퓨터과학, 언어학 또는 엮인 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차이다. 계산을 실행하기 위한 단계적 절차를 의미하기도 한다. 즉, 문제 풀이에 필요한 계산절차 또는 처리과정의 순서를 뜻한다. 프로그램명령어의 집합을 의미하기도 한다. 알고리즘은 연산, 데이터 마이닝(기계 학습) 또는 자동화된 추론을 수행한다. 1. 동적계획법(Dynamic Programming) : 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법. 어떤 문제는 그 문제를 해결하기 위한 작은 문제들의 해의 결합으로 풀수 있다는 사고를 기반으로 함 / ex) 최단경로문제, 행렬의 제곱문제 2. 탐욕적 알고리즘(Greedy Algorithm) : 최적해를 구하는 데에 사용..
https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. [제한사항] 마라톤 경기에 참여한 선수의 수는 1..
https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. [제한사항] 마라톤 경기에 참여한 선수의 수는 1..
https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. [제한 사항] s는 길이 1 이상, 길이 8 이하인 문자열입니다. s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. [입출력 예] s return "a234..
https://school.programmers.co.kr/learn/courses/30/lessons/70128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) [제한사항] a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1..