![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/oA9xU/btqCMnldJY7/ag7YcxFpVCruZXAx0i3Uc0/img.png)
selection sort란 수를 정렬하는 방식 중 가장 원시적인 정렬 알고리즘으로 가장 작은 수를 찾아낸 다음 앞으로 보내는 방식의 정렬 방법입니다. 정렬방식 중 가장 기본적인 정렬방식입니다. 위 그림에서 보다시피 정렬되지 않은 부분에서 최소값을 찾아 앞으로 보내 차례대로 정렬하는 것입니다. (귀찮아서 손으로 그린건 안비밀) 그렇다면 선택정렬을 하기위해선 몇 번의 연산이 필요할까요? N개의 수가 있다면 처음 최솟값을 구해 정렬하는데 N번, 두번째는 N-1번 세번짼 N-2번 ... 마지막 한번까지 N! 번 연산이 필요합니다 이는 공차가 -1인 등차수열로 n(n+1)/2의 공식을 가집니다. 따라서 시간복잡도는 O(N^2)을 가지게 되고 N의 개수가 많아질수록 효율이 굉장히 떨어지게됩니다 ㅠㅠ 따라서 처리해..
프로그래머스 문제풀러가기 프로그래밍 강의 | 프로그래머스 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr import collections def solution(people, limit): answer = 0 _people = collections.deque(sorted(people)) while _people and _people[-1] > limit - 40: #무게 넘는 사람 탈출 answer += 1 _people.pop() while _people: light = _people.popleft() if not _people: answer += 1 while _people: heavy = _people.pop() if light + heavy
문제풀러가기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(n, lost, reserve): answer = n loster = [] for l in lost: if l in reserve: reserve.remove(l) else: loster.append(l) for l in loster: if (l-1) in reserve: reserve.remove(l-1) elif (l+1) in reserve: reserve.remove(l+1) else: answer = answer - 1 return answer 탐욕법에 관..
프로그래머스 문제 풀러가기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이: from itertools import combinations as combi def solution(phoneBook): answer = True for (a,b) in combi( sorted(phoneBook, key= len),2): if a == b[:len(a)]: answer = False return answer 테스트 케이스는 통과했지만 효율성 측면에서 통과하지 못했습니다. 문제 풀이 과정에서 from itertools import combinations ..
3월 14일 코딩테스트를 준비하기 위해 남은 한달동안 파이썬을 이용해 알고리즘을 풀려고 합니다. 알고리즘과 파이썬 기초가 많이 부족하니 많이 지적해주시면 감사하겠습니다~~ :) 프로그래머스 문제풀러 가기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 : def solution(heights): answer = [] for i in range(len(heights)-1,-1,-1): head = i - 1 while heights[head] = 0: head = head - 1 if head == -1: answer.append(0) else: a..
- Total
- Today
- Yesterday
- 백준
- EC2
- ci/cd
- spring boot
- 퀵 소트
- 라이프 사이클
- 정렬
- 자동화
- 버블정렬
- react
- 합병정렬
- oauth
- 리액트
- 배포
- 병합정렬
- 선택정렬
- 서버
- 알고스팟
- CodeDeploy
- stack
- 가상환경
- greedy
- 삽입정렬
- 알고리즘
- AWS
- Union-FInd
- RDS
- 계수정렬
- 다익스트라
- 스프링 부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |